文章目錄
- 1.安裝Tomcat
- 1.docker hub查找鏡像并復制拉取鏡像命令
- 2.拉取鏡像到本地
- 1.執行官網命令
- 2.查看是否拉取成功
- 3.啟動tomcat
- 4.退出和重啟
- 1.由于是以交互方式啟動的,所以不方便,直接ctrl + c退出
- 2.查看當前的容器
- 3.使用docker start 命令啟動容器,這次就是后臺啟動了
- 5.訪問tomcat首頁
- 1.寶塔和騰訊云安全組開啟8080端口
- 2.訪問首頁,發現是404,原因是新版的tomcat有所調整
- 3.進入容器發現webapps沒有東西
- 4.將空的webapps刪除,webapps.dist修改為webapps即可
- 5.再次訪問,成功!
- 6.刪除tomcat
- 1.exit退出并強制刪除
- 2.刪除鏡像
- 7.安裝免修改版本的tomcat8
- 1.直接運行run命令,如果本地沒有會自動去遠程倉庫拉
- 2.查看運行狀態
- 3.訪問首頁
- 2.MySQL安裝
- 1.拉取MySQL5.7到本地
- 2.啟動mysql容器
- 3.進入容器實例
- 4.登錄mysql
- 5.測試MySQL使用
- 6.使用IDEA連接這個數據庫
- 1.連接成功
- 2.可以正常使用
- 7.中文亂碼問題
- 1.測試插入中文
- 2.查看一下docker中的默認字符集編碼(在mysql容器內執行!)
- 8.容器數據卷問題
- 1.刪除這個mysql容器,此時數據都沒了,所以需要容器數據卷
- 9.安裝mysql實戰版
- 1.啟動mysql容器,并設置容器數據卷
- 2.查看容器
- 1.查看運行情況
- 2.查看詳細信息
- 3.解決中文亂碼問題
- 1.進入/mysql5.7/mysql1/conf
- 2.創建my.cnf并寫入配置內容
- 3.重啟mysql容器使其生效
- 4.重新登陸mysql容器,查看編碼
- 5.插入中文測試
- 4.測試刪除MySQL
- 1.刪除
- 2.再重新啟動mysql
- 3.查看數據,成功恢復
- 3.Redis常規安裝
- 1.拉取redis:6.0.8到本地
- 2.Redis基本使用(一般不這么用)
- 1.啟動Redis
- 2.進入Redis
- 3.測試使用
- 3.在宿主機新建目錄 /app/redis
- 4.從redis6.0.8中得到一份redis.conf的配置文件
- 1.將壓縮包上傳到/opt目錄下
- 2.進入/opt目錄然后解壓
- 3.復制一份redis.conf到/app/redis目錄下
- 5.對配置文件進行修改
- 1.編輯配置文件
- 2.設置redis密碼 requirepass foobared
- 3.使redis支持遠程訪問 bind 127.0.0.1 和 protected-mode
- 4.設置daemonize no,如果是yes會與docker的-d方式沖突
- 6.啟動Redis
- 7.連接Redis
- 1.使用exec命令進入
- 2.連接redis-cli
- 3.證明一下讀取到了自己的配置文件
- 1.退出容器,修改/app/redis/redis.conf的databases為10
- 2.重啟一下Redis容器
- 3.重新連接redis-cli,測試,發現確實只有10個庫了
- 4.使用Jedis連接Redis測試
- 1.前提條件
- 2.測試連接
1.安裝Tomcat
1.docker hub查找鏡像并復制拉取鏡像命令
https://hub.docker.com/
2.拉取鏡像到本地
1.執行官網命令
docker pull tomcat
2.查看是否拉取成功
docker images tomcat
3.啟動tomcat
docker run -it -p 8080:8080 --name myfirtomcat tomcat
4.退出和重啟
1.由于是以交互方式啟動的,所以不方便,直接ctrl + c退出
2.查看當前的容器
docker ps -a
3.使用docker start 命令啟動容器,這次就是后臺啟動了
docker start myfirtomcat
5.訪問tomcat首頁
1.寶塔和騰訊云安全組開啟8080端口
systemctl start firewalld && firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reload && firewall-cmd --query-port=8080/tcp
2.訪問首頁,發現是404,原因是新版的tomcat有所調整
3.進入容器發現webapps沒有東西
4.將空的webapps刪除,webapps.dist修改為webapps即可
5.再次訪問,成功!
6.刪除tomcat
1.exit退出并強制刪除
2.刪除鏡像
7.安裝免修改版本的tomcat8
1.直接運行run命令,如果本地沒有會自動去遠程倉庫拉
docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8
2.查看運行狀態
3.訪問首頁
2.MySQL安裝
1.拉取MySQL5.7到本地
docker pull mysql:5.7
2.啟動mysql容器
- 端口映射為8080
- root的密碼為root
docker run -p 8080:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
3.進入容器實例
docker exec -it 33fa76aff770 /bin/bash
4.登錄mysql
mysql -u root -p
5.測試MySQL使用
6.使用IDEA連接這個數據庫
1.連接成功
2.可以正常使用
7.中文亂碼問題
1.測試插入中文
2.查看一下docker中的默認字符集編碼(在mysql容器內執行!)
show variables like 'character%';
8.容器數據卷問題
1.刪除這個mysql容器,此時數據都沒了,所以需要容器數據卷
9.安裝mysql實戰版
1.啟動mysql容器,并設置容器數據卷
- 端口映射為8080
- root用戶密碼為root
- /mysql5.7/mysql1/data 映射 /var/lib/mysql
- /mysql5.7/mysql1/log 映射 /var/log/mysql
- /mysql5.7/mysql1/conf 映射 /etc/mysql/conf.d
- 容器名字為mysql1
docker run -d -p 8080:3306 --privileged=true \
-v /mysql5.7/mysql1/data:/var/lib/mysql \
-v /mysql5.7/mysql1/log:/var/log/mysql \
-v /mysql5.7/mysql1/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql1 mysql:5.7
2.查看容器
1.查看運行情況
2.查看詳細信息
docker inspect mysql1
3.解決中文亂碼問題
1.進入/mysql5.7/mysql1/conf
cd /mysql5.7/mysql1/conf
2.創建my.cnf并寫入配置內容
echo "[client]
default_character_set=utf8mb4[mysqld]
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4" > my.cnf
3.重啟mysql容器使其生效
docker restart mysql1
4.重新登陸mysql容器,查看編碼
5.插入中文測試
create database db01;
use db01;
create table test
(id int,name varchar(32)
);
insert into test (id, name)
values (1, '孫顯圣');
select *
from test;
4.測試刪除MySQL
1.刪除
2.再重新啟動mysql
docker run -d -p 8080:3306 --privileged=true \
-v /mysql5.7/mysql1/data:/var/lib/mysql \
-v /mysql5.7/mysql1/log:/var/log/mysql \
-v /mysql5.7/mysql1/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql1 mysql:5.7
3.查看數據,成功恢復
3.Redis常規安裝
1.拉取redis:6.0.8到本地
docker pull redis:6.0.8
2.Redis基本使用(一般不這么用)
1.啟動Redis
docker run -d -p 8080:6379 redis:6.0.8
2.進入Redis
docker exec -it 843638d7e126 /bin/bash
3.測試使用
3.在宿主機新建目錄 /app/redis
mkdir -p /app/redis
4.從redis6.0.8中得到一份redis.conf的配置文件
1.將壓縮包上傳到/opt目錄下
2.進入/opt目錄然后解壓
cd /opt && tar -zxvf redis-6.0.8.tar.gz
3.復制一份redis.conf到/app/redis目錄下
cp /opt/redis-6.0.8/redis.conf /app/redis/redis.conf
5.對配置文件進行修改
1.編輯配置文件
vim /app/redis/redis.conf
2.設置redis密碼 requirepass foobared
3.使redis支持遠程訪問 bind 127.0.0.1 和 protected-mode
4.設置daemonize no,如果是yes會與docker的-d方式沖突
6.啟動Redis
- 端口映射為8080
- 名字為myredis
- /app/redis/redis.conf 掛載 /etc/redis/redis.conf
- /app/redis/data:/data 掛載 /data
- -d:后臺啟動
- redis:6.0.8:鏡像名字
- redis-server /etc/redis/redis.conf 指定容器中的配置文件
docker run -p 8080:6379 --name myredis --privileged=true \
-v /app/redis/redis.conf:/etc/redis/redis.conf \
-v /app/redis/data:/data -d redis:6.0.8 \
redis-server /etc/redis/redis.conf
7.連接Redis
1.使用exec命令進入
docker exec -it myredis /bin/bash
2.連接redis-cli
- 這里的-p指向的是容器的redis端口默認是6379
- -a參數指定密碼
redis-cli -p 6379 -a
3.證明一下讀取到了自己的配置文件
1.退出容器,修改/app/redis/redis.conf的databases為10
vim /app/redis/redis.conf
2.重啟一下Redis容器
docker restart myredis
3.重新連接redis-cli,測試,發現確實只有10個庫了
4.使用Jedis連接Redis測試
1.前提條件
- 目前的redis在服務器上,端口是8080,也設置了密碼
- 需要確保端口開放了
- 確保前面對配置文件都進行了相應修改