一、应用部署
一、Mysql部署
1.拉去mysql镜像
docker pull mysql:5.7
2.创建Mysql容器
docker run -di --name=mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456
-e为指定root用户的密码
二、nginx部署
1.拉去nginx镜像
docker pull nginx
2.创建nginx容器
docker run -di --name=mynginx -p 80:80 nginx
3.配置nginx.conf配置文件
cd /etc/nginx
vi nginx.conf
cd /conf.d/
vi default.conf
查看location对应默认访问的页面路径,将需要展示的页面替换掉默认的页面即可
三、redis部署
1.拉去redis镜像
docker pull redis
2.创建redis容器
docker run -di --name=myredis -p 6379:6379 redis
3.通过redis客户端连接容器中的redis
redis-cli -h ip
二、Docker的迁移与备份
一、容器保存为镜像
docker commit 容器名 镜像名
二、镜像备份
docker save -o 镜像压缩文件名 镜像名
三、镜像恢复与迁移
1.镜像恢复
docker load -i 镜像压缩文件
2.镜像迁移
可通过拷贝镜像压缩文件完成
四、Dockerfile
1.基础概念
Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像
保证应用在新的平台部署时是同一环境
2.常用命令(以部署springboot应用举例)
*
定义父镜像:FROM java:8
*
定义作者信息:MAINTAINER itheima itheima@itcast.cn
*
将jar包添加到容器: ADD springboot.jar app.jar
*
定义容器启动执行的命令:CMD java–jar app.jar
*
通过dockerfile构建镜像:docker bulid –f dockerfile文件路径 –t 镜像名称:版本
*
ENV key value:设置环境变量
*
WORDKDIR path_dir:设置工作目录(进入容器时的默认目录)
三、Docker私有仓库
一、拉去私有仓库镜像
docker pull registry
二、启动私有仓库容器
docker run -di --name=registry -p 5000:5000 registry
三、查看仓库搭建是否成功
访问http://ip:5000/v2/_catalog
看到{“registry”:[]}表示私有仓库搭建成功
四、让docker信任私有仓库
1.修改配置文件
vi /etc/docker/daemon.json
2.添加私有仓库地址
{"insecure-registries":["私有仓库服务器ip:5000"]}
3.重启docker服务
systemctl restart docker
五、镜像上传至私有仓库
1.标记该镜像为私有仓库镜像
docker tag jdk1.8 私有仓库ip:5000/jdk1.8
2.上传
docker push 私有仓库ip:5000/jdk1.8