目录
docker操作命令
镜像操作命令
拉取镜像
导出镜像
删除镜像
加载镜像
推送镜像
部署
pom文件加上
在每个模块根目录加上DockerFile文件
项目根目录加上docker-compose.yml文件
打包,clean,package
服务器上新建文件夹
测试docker-compose是否安装
构建镜像
检查配置是否有问题,在新建的目录下
启动
docker操作命令
镜像操作命令
# 查看 docker 命令及帮助
docker --help
# 查看指定命令的帮助
docker [command] --help
# 查看当前所拥有的镜像
docker images
拉取镜像
# 拉取镜像,未指定版本则拉取最新版,latest
docker pull [ image : {version} ]
# 示例:拉取 nginx1.22版
docker pull nginx:1.22
导出镜像
# 导出一个镜像到磁盘的指定文件,同一个镜像有多个版本时,需要指定版本号
docker save -o [file] [image]:[tag]
# 示例:将 nginx 镜像 导出到 /image/mynginx.tar 文件中
docker save -o /image/mynginx.tar nginx
删除镜像
# 删除一个镜像,(删除镜像时必须指定版本号)
docker rmi [image]:[tag]
# 示例:删除 nginx 1.22
docker rmi nginx:1.22
加载镜像
# 将程序的镜像文件加载到 docker 中, ( -q 表示是否输出加载的过程)
docker load -i [ file ] { -q }
# 示例:将 nginx镜像 文件加载到 docker中
docker load -i /image/mynginx.tar
推送镜像
# 将镜像文件推送到远程
docker push -a [name]:[tag]
部署
pom文件加上
<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
在每个模块根目录加上DockerFile文件
# 基础镜像
FROM openjdk:8
# 创建容器默认进入的目录
WORKDIR /app
# 复制jar包到容器中
COPY app.jar /app/app.jar
# 暴露端口 应该保持和源代码端口一致
EXPOSE 6000
# 启动命令
ENTRYPOINT ["java","-jar","-Xms100m","-Xmx100m"]
CMD ["app.jar"]
项目根目录加上docker-compose.yml文件
version: "3.8"
networks:
# 自定义docker网络名
test:
services:
# 定义服务名字,只要不冲突即可
mail-gateway:
# 镜像名字或者id
image: mail-gateway
# 自定义容器名字
container_name: mail-gateway
# 映射端口
ports:
- "88:88"
# 网络
networks:
- test
mail-auth:
image: mail-auth
container_name: mail-auth
ports:
- "6000:6000"
networks:
- test
mail-email:
image: mail-email
container_name: mail-email
ports:
- "20000:20000"
networks:
- test
mail-user:
image: mail-user
container_name: mail-user
ports:
- "10000:10000"
networks:
- test
mail-common:
image: mail-common
container_name: mail-common
# ports:
# - "10000:10000"
networks:
- test
打包,clean,package
服务器上新建文件夹
测试docker-compose是否安装
docker-compose --version
构建镜像
docker build -t mail-auth /www/wwwroot/yangsaiya/project/distributed-mail/mail-auth/
检查配置是否有问题,在新建的目录下
docker-compose config -q
启动
docker-compose up