在test目录下创建docker-compose.yml文件:

#使用 Docker Compose 版本 3 的语法格式
version: '3'
services: 
  #定义一个名为 test 的服务
  #使用镜像 test:1.0(本地构建的镜像)
  test: 
    image: "test:1.0"
    #指定容器名称为 test(而不是自动生成)
    container_name: test
    #容器退出时总是自动重启
    restart: always
    #将宿主机的28080端口映射到容器的8080端口
    ports: 
      - 28080:8080
    #将宿主机的 ./data/ 目录挂载到容器的 /app 目录
    volumes: 
      - ./data/:/app
    #设置容器时区为亚洲/上海(北京时间)
    environment: 
      - TZ=Asia/Shanghai
    networks: 
      - test
#docker内网
networks:
  test:  
    external: true
#服务连接到名为 test 的 Docker 网络
#external: true 表示使用已存在的网络

test目录下创建一个data目录用来进行挂载操作,把jar包移动到里面:

注意Dockfile尽量和docker-compose在同一级目录下,便于管理

然后创建网络组

启动容器

查看日志

访问:

编写一键更新脚本

在test目录下创建脚本vi build.sh

#!/bin/bash
echo "停用所有容器"
docker-compose down
echo "删除镜像"
docker rmi test:1.0
echo "构建镜像"
docker build -t test:1.0 .
echo "运行镜像"
docker-compose up -d

然后运行

sh build.sh

运行前记得把有关的在运行的容器删除,否则是删不了镜像的

查看日志:

注意:

因为我们已经在docker-compose里面进行了挂载,所以Dockerfile里面的ADD指令可以去掉

更多推荐