Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。
下载:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
常用命令:
docker-compose config 检查docker-compose.yml配置是否正确,正确则显示配置
docker-compose build 构建(重新构建)项目中的服务容器
docker-compose down 停止 up 命令所启动的容器,并移除网络
docker-compose images 列出docker-compose.yml中包含的镜像
docker-compose logs 查看日志
docker-compose ps 列出项目中的所有容器
docker-compose pull pull项目中的所有镜像
docker-compose stop [服务名] 暂停服务
docker-compose rm [服务名] 删除服务容器
docker-compose start [服务名] 启动服务
docker-compose up [服务名] [-d] 尝试自动完成包括构建镜像,(重新)创建服务,启动服务,并关联服务相关容器的一系列操作。
更多命令参考:https://www.funtl.com/zh/docs-docker/Docker-Compose-%E5%91%BD%E4%BB%A4%E8%AF%B4%E6%98%8E.html
一个简单的docker-compose.yml文件:
version: "3"
services:
eureka-server:
#构建镜像
build:
#Context上下文地址(docker build 的上下文地址)
context: ./1_eureka-server
#Dockerfile文件名
dockerfile: Dockerfile
#也可以直接指定镜像名
# images: wmelon/eureka-server
#端口映射关系
ports:
- 9100:9100
#数据卷
volumes:
- "/usr/local/docker/logs/:/usr/local/docker/eureka/logs/"
#网络配置(容器互联,同一网络下可以ping通服务名(例如 ping eureka-server 解析出就是启动 eureka-server服务的 容器ip地址 ))
networks:
- network1
eureka-getway:
build:
context: ./2_eureka-getway
dockerfile: Dockerfile
# images: wmelon/eureka-server
ports:
- 9101:9101
volumes:
- "/usr/local/docker/logs/:/usr/local/docker/eureka/logs/"
networks:
- network1
#依赖于服务 eureka-server,会在eureka-server 之后构建
depends_on:
- eureka-server
#定义网络
networks:
network1:
更多docker-compose.yml模本语法参考:
https://www.funtl.com/zh/docs-docker/Docker-Compose-%E6%A8%A1%E6%9D%BF%E6%96%87%E4%BB%B6.html#build
当前文件夹是这个亚子的: