Docker部署應用mysql、tomcat、Nginx、Redis、遷移、備份

MySQL部署

拉取mysql鏡像

docker pull centos/mysql-57-centos7

創建容器

docker run -di --name=tensquare_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-p 代表端口映射,格式爲  宿主機映射端口:容器運行端口

-e 代表添加環境變量  MYSQL_ROOT_PASSWORD 是root用戶的登陸密碼

遠程登錄mysql,連接宿主機的IP ,指定端口爲33306

注意,不建議把數據庫文件放在docker裏面,採用目錄掛載持久化數據庫文件、日誌、配置文件

創建my.cnf

mkdir -p /usr/local/mysql/config/
cd /usr/local/mysql/config/
vi my.cnf
[mysqld]
character-set-server=utf8
default_authentication_plugin= mysql_native_password
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8
docker network create -d bridge my-net

#最新版安裝
docker run \
    -p 3306:3306 \
    --network my-net \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -v /usr/local/mysql/data:/var/lib/mysql:rw \
    -v /usr/local/mysql/log:/var/log/mysql:rw \
    -v /usr/local/mysql/config/my.cnf:/etc/mysql/my.cnf:rw \
    -v /etc/localtime:/etc/localtime:ro \
    --name mysql \
    --restart=always \
    -d mysql
#5.7安裝
docker run \
    -p 33306:3306 \
    --network my-net \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -v /usr/local/mysql/data:/var/lib/mysql:rw \
    -v /usr/local/mysql/log:/var/log/mysql:rw \
    -v /usr/local/mysql/config/my.cnf:/etc/mysql/my.cnf:rw \
    -v /etc/localtime:/etc/localtime:ro \
    --name mysql5.7 \
    --restart=always \
    -d mysql:5.7


-d 	後臺運行容器
-p 3306:3306 	指定端口映射(主機(宿主)端口:容器端口)
--network my-net 加入docker網絡互訪用
--restart=always 	開機啓動
--privileged=true 	提升容器內權限
--name 	爲容器指定一個名稱
-e  	設置環境變量
MYSQL_ROOT_PASSWORD=123456 	初始密碼
-v /usr/local/mysql/cnf/my.cnf:/etc/my.cnf 映射配置文件
-v /usr/local/mysql/data:/var/lib/mysql 映射數據目錄
-v /usr/local/mysql/logs:/logs 
mysql 	鏡像名稱

tomcat部署

拉取鏡像

docker pull tomcat:7-jre7

創建容器  -p表示地址映射

docker run -di --name=mytomcat -p 9000:8080 
-v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7

Nginx部署

拉取鏡像

docker pull nginx

創建Nginx容器

docker run -di --name=mynginx -p 80:80 nginx

Redis部署

拉取鏡像

docker pull redis

創建容器

docker run -di --name=myredis -p 6379:6379 redis

 

遷移、備份

容器保存爲鏡像

我們可以通過以下命令將容器保存爲鏡像

docker commit mynginx mynginx_i

鏡像備份

我們可以通過以下命令將鏡像保存爲tar 文件

docker  save -o mynginx.tar mynginx_i

鏡像恢復與遷移

首先我們先刪除掉mynginx_img鏡像 然後執行此命令進行恢復

docker load -i mynginx.tar

-i 輸入的文件

執行後再次查看鏡像,可以看到鏡像已經恢復

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章