应用部署

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