Docker的应用部署与迁移备份
应用部署
MySQL 部署
拉取 mysql 镜像
1 | docker pull centos/mysql-57-centos7 |
创建容器
创建名为
mysql5.7
的容器
docker run -di –name=mysql5.7 -p 宿主机端口:容器端口 -e MYSQL_ROOT_PASSWORD=mysql 密码 容器名称
1 | docker run -di --name=mysql5.7 -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7 |
-p 代表端口映射,格式为 宿主机映射端口:容器运行端口
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是 root 用户的远程登陆密码
测试登录 mysql
连接宿主机
的 IP ,指定端口为 33306
tomcat 部署
拉取镜像
1 | docker pull tomcat:7-jre7 |
创建容器
创建容器 -p -v
创建 tomcat 容器并挂载 webapps 目录
1 | docker run -di --name=mytomcat -p 8081:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7 |
测试用的 war 包 ,上传到 docker 容器里面,即上传到 Linux 中的/usr/local/webapps
目录下
浏览器访问测试:宿主机 ip:宿主机映射端口/测试用的 war 包名称/
Nginx 部署
拉取镜像
1 | docker pull nginx |
创建 Nginx 容器
1 | docker run -di --name=mynginx -p 80:80 nginx |
安装完成之后,请求 nginx 页面,即直接访问宿主机 ip 就可以了
Redis 部署
拉取镜像
1 | docker pull redis |
创建容器
1 | docker run -di --name=myredis -p 6380:6379 redis |
测试连接:redis-cli -h 宿主机 ip -p 宿主机映射端口
迁移与备份
容器保存为镜像
docker commit 容器名称 镜像名称
1 | docker commit mynginx mynginx_backup |
查看镜像是否保存成功
镜像备份
将镜像保存为 tar 文件,命令形式:
docker save –o tar 文件名 镜像名
-o:表示 output 输出的意思
1 | docker save -o mynginx.tar mynginx_backup |
通过 ls 命令查看当前目录是否有 tar 文件
镜像恢复
命令形式:docker load -i 文件名.tar
1 | docker load -i mynginx.tar |
本文采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ShiGuang
评论