docker系列(4)-Docker的应用部署和迁移备份
1. Docker的应用部署
总体步骤:
- 搜索镜像
- 拉取镜像
- 查看镜像
- 启动容器
- 停止容器
- 移除容器
1.1 MySQL部署
- Docker hub上查找mysql镜像
docker search mysql
- 从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7
docker pull centos/mysql-57-centos7
- 创建容器
docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7
-p 代表端口映射,格式为宿主机映射端口:容器运行端口
-e 代表添加环境变量,MYSQL_ROOT_PASSWORD是root用户的登录密码
-
使用mysql客户端连接
1.2 Nginx部署
- Docker hub上查找nginx镜像
docker search nginx
- 从docker hub上(阿里云加速器)拉取nginx镜像到本地
docker pull nginx
- 创建nginx容器
docker run -di --name=mynginx -p 80:80 nginx
-p 代表端口映射,格式为宿主机映射端口:容器运行端口
- 打开浏览器访问 ,http://主机名/
1.3 Redis部署
-
Docker hub上查找redis镜像
docker search redis:4.0
-
从docker hub上(阿里云加速器)拉取redis镜像到本地
docker pull redis:4.0
-
创建redis容器
docker run -di --name=myredis -p 6379:6379 redis:4.0
-p 代表端口映射,格式为宿主机映射端口:容器运行端口
-
使用redis-cli连接
docker exec -it myredis redis-cli
-
打开redis客户端连接redis服务器
-
测试持久化文件生成(挂载目录的方式)
在宿主机创建目录
mkdir -p /export/docker/myredis/data/
mkdir -p /export/docker/myredis/conf/在conf创建配置文件redis.conf
vim redis.conf
启动容器
docker run -p 6379:6379 -v /export/docker/myredis/data/:/data -v /export/docker/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d redis:4.0 redis-server /usr/local/etc/redis/redis.conf --appendonly yes
查看持久化文件是否生成
ls /export/docker/myredis/data/
2. Docker的迁移与备份
2.1 容器保存为镜像
- 可以通过以下命令将容器保存为镜像
docker commit mynginx mynginx_image
- 基于新创建的镜像创建容器
docker run -di --name=mynginx2 -p 81:80 mynginx_image
2.2 镜像备份
- 可以通过以下命令将镜像保存为tar文件
docker save -o mynginx.tar mynginx_image
-o:表示output,输出的意思
2.4 镜像恢复与迁移
- 先删除掉mynginx_image镜像,然后执行此命令进行恢复
docker rmi mynginx_image
因为该镜像存在容器,所以先删除容器,在删除镜像
- 使用此命令进行恢复镜像
docker load -i mynginx.tar
-i:表示输入的文件,执行后再次查看镜像,可以看到镜像已经恢复