docker部署微服务

目录

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
相关推荐
wdxylb41 分钟前
云原生俱乐部-RH134知识点总结(2)
linux·云原生
deeper_wind1 小时前
k8s-单主机Master集群部署+单个pod部署lnmp论坛服务(小白的“升级打怪”成长之路)
云原生·容器·kubernetes
zhenshanrenhao4 小时前
#买硬盘欲安装k8s记
云原生·容器·kubernetes
bing.shao5 小时前
微服务容错与监控体系设计
微服务·云原生·架构
tb_first6 小时前
k8sday09
linux·云原生·容器·kubernetes
水痕018 小时前
gin结合minio来做文件存储
java·eureka·gin
Harvey_D1 天前
【部署K8S集群】 1、安装前环境准备配置
云原生·容器·kubernetes
Wezzer1 天前
k8s单master部署
云原生·容器·kubernetes
Tadas-Gao1 天前
Java设计模式全景解析:从演进历程到创新实践
java·开发语言·微服务·设计模式·云原生·架构·系统架构
斯普信专业组2 天前
Eureka故障处理大汇总
云原生·eureka