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 輸入的文件
執行後再次查看鏡像,可以看到鏡像已經恢復