Docker 安裝並部署Tomcat、Mysql8、Redis


1.  安裝前檢查

 1 #ContOS 7安裝Docker系統為64位,內核版本為3.10+
 2 lsb_release -a
 3 
 4 uname -r
 5 
 6 #更新yum源
 7 yum -y update
 8 
 9 #查看是否已經安裝Docker
10 yum list installed | grep docker
11 
12 #若存在Dcoker,則移除
13 yum remove docker*

2.  安裝Docker

 1 #yum源安裝
 2 yum -y install docker
 3 
 4 #啟動、停止、重啟Docker,並查詢狀態
 5 service docker start
 6 service docker stop
 7 service docker restart
 8 service docker status
 9 
10 #或者
11 systemctl start docker
12 systemctl stop docker
13 systemctl restart docker
14 systemctl status docker
15 
16 #查看Docker系統信息
17 docker info
18 
19 #查看Docker版本
20 docker version
21 
22 #查看鏡像
23 docker images
24 
25 #刪除鏡像
26 docker rmi [IMAGE ID]/[REPOSITORY]
27 
28 #列出容器
29 docker ps
30 
31 #顯示所有的容器,包括未運行的
32 docker ps -a
33 
34 #列出最近創建的5個容器信息
35 docker ps -n 5 
36 
37 #刪除容器
38 docker rm -f [CONTAINER ID]/[NAMES]
39 
40 #查看日志
41 #-t 顯示時間戳
42 #-f 跟蹤顯示日志
43 #--tail 末尾行數,默認全部
44 #--since 指定開始時間,如:30m "2020-05-22"
45 docker logs -t -f [CONTAINER ID]/[NAMES]
46 docker logs -t -f --tail=100 --since=30m [CONTAINER ID]/[NAMES]
47 docker logs -t -f --tail=100 --since="2020-05-22" [CONTAINER ID]/[NAMES]
48 
49 #查看容器詳細信息
50 docker inspect [CONTAINER ID]/[NAMES]

3.  安裝Tomcat

 1 #搜索Tomcat
 2 docker search tomcat
 3 
 4 #拉取鏡像,拉取最新版本
 5 docker pull tomcat
 6 
 7 #拉取鏡像,並指定版本
 8 docker pull tomcat:8.5.4
 9 
10 #查看鏡像
11 docker images
12 
13 #運行鏡像並制定宿主機端口映射(臨時啟動)
14 docker run -p 8080:8080 tomcat:8.5.4
15 #運行鏡像並制定宿主機端口映射(后台啟動)
16 #-d : 后台運行
17 docker run -d -p 8080:8080 tomcat:8.5.4
18 
19 #部署項目
20 #創建本地文件夾
21 mkdir /usr/local/tomcat
22 mkdir /usr/local/tomcat/webapps
23 
24 #上傳項目[helloworld.war]到此路徑,並運行鏡像
25 #--name : 容器名稱
26 #--privileged=true : 授權
27 #-p : 宿主機端口映射
28 #-v : 掛載宿主機目錄
29 #-d : 后台啟動
30 docker run --name=tomcat8.5.4 --privileged=true -p 8080:8080 -v /usr/local/tomcat/webapps/hellowrold.war:/usr/local/tomcat/webapps/hellowrold.war -d tomcat:8.5.4
31 
32 #啟動、停止容器
33 docker ps
34 docker start [CONTAINER ID]/[NAMES]
35 docker stop [CONTAINER ID]/[NAMES]

4.  安裝Mysql

 1 #搜索Mysql
 2 docker search mysql
 3 
 4 #拉取鏡像
 5 docker pull mysql
 6 
 7 #創建容器
 8 #-e : 傳遞環境變量
 9 #MYSQL_ROOT_PASSWORD : root用戶密碼
10 #--lower_case_table_names=1 : 忽略表名大小寫
11 docker run --name=mysql --privileged=true -p 3306:3306 -v /usr/local/src/mysql/data:/var/lib/mysql -v /usr/local/src/mysql/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=3edc#EDC -d mysql --lower_case_table_names=1
12 
13 #刪除/usr/local/src/mysql/conf/my.cnf
14 cd /usr/local/src/mysql/conf/
15 rm -rf my.cnf/
16 
17 #創建文件my.cnf
18 touch my.cnf
19 
20 #編輯文件
21 vi my.cnf
22 
23 #插入內容並保存
24 [client]
25 default-character-set=utf8mb4
26  
27 [mysql]
28 default-character-set=utf8mb4
29  
30 [mysqld]
31 pid-file        = /var/run/mysqld/mysqld.pid
32 socket          = /var/run/mysqld/mysqld.sock
33 datadir         = /var/lib/mysql
34 secure-file-priv= NULL
35 # Disabling symbolic-links is recommended to prevent assorted security risks
36 symbolic-links=0
37 max_connections=10000
38 default-time_zone='+8:00'
39 character-set-client-handshake=FALSE
40 character_set_server=utf8mb4
41 collation-server=utf8mb4_unicode_ci
42 init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
43 # Custom config should go here
44 !includedir /etc/mysql/conf.d/
45 
46 #啟動mysql容器
47 docker start mysql
48 
49 #查詢啟動容器
50 docker ps
51 
52 #修改root用戶密碼和權限
53 #交互式進入容器
54 docker exec -it mysql /bin/bash
55 
56 #進入mysql,輸入上邊創建容器時指定的密碼[3edc#EDC]
57 mysql -uroot -p
58 
59 #修改root密碼
60 alter user 'root'@'localhost' identified with mysql_native_password by 'new password';
61 
62 #修改root權限
63 use mysql;
64 update user set host ='%' where user='root';
65 alter user 'root'@'%' identified with mysql_native_password by 'new password';
66 flush privileges;
67 quit
68 
69 #退出交互
70 exit
71 
72 #使用navicat遠程登錄
73 
74 #備份數據庫
75 docker exec -it mysql mysqldump -uroot -p[password] [dbname] > /tmp/[dbname].bak.sql
76 
77 #還原數據庫
78 docker exec -i mysql mysql -uroot -p[password] [dbname] < /tmp/[dbname].bak.sql

5.  安裝Redis

 1 #查詢鏡像
 2 docker search redis
 3 
 4 #拉取鏡像
 5 docker pull redis
 6 
 7 #運行鏡像
 8 #--requirepass "123456" : 密碼
 9 #--appendonly=yes : 開啟持久化
10 docker run --name=redis-server --privileged=true -p 6379:6379 -v /usr/local/redis/data:/data -d redis --requirepass="123456" --appendonly=yes
11 
12 #進入Redis客戶端
13 docker exec -it redis-server redis-cli
14 
15 #輸入密碼
16 auth 123456
17 
18 #測試
19 set key1 helloworld
20 get key1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM