赞
踩
1、第一步是确认应使用的Compose版本
(1)去看官方文档,根据给出的文档选择对应的Compose版本
https://docs.docker.com/compose/compose-file/compose-file-v3/
Compose和Docker Engine版本对比截图:
(2)使用以下命令查看自己的docker engine版本
docker version
效果图:
(3)由图可知我的Docker Engine版本为20.10.17,根据官方文档的版本对比表,没有对应Docker Engine 20版本的Compose版本,所以只能使用最新的Compose 3.8版本
- #通过对比Compose和Docker Engine的版本,得出Compose使用3.8版本
- version:'3.8'
2、第二步配置services
官方文档:https://docs.docker.com/compose/compose-file/compose-file-v3/#service-configuration-reference
- #配置我们自己的服务
- services:
- #服务名称
- web
- #跟docker build命令一样,根据Dockerfile创建镜像
- build:
- #表示在指定目录下找Dockerfile
- context: .
- #Dockerfile的名称
- dockerfile:
- #当前服务跑在哪个地址上
- network:host
- #容器启动时执行的命令
- command:bundle exec thin -p 3000
- #Entrypoint指令用于设定容器启动时第一个运行的命令及其参数
- entrypoint: /code/entrypoint.sh
- #指定docker容器的名称
- container_name: my-web-container
- #依赖关系:有些项目需要redis先启动,项目后启动,所以这时候需要配置依赖关系,如下配置就是让db服务先启动,然后redis服务启动,最后web服务才启动
- depends_on:
- - db
- - redis
- #配置环境变量
- environment:
- #当前服务对外暴露的端口
- expose:
- - "8080"
- #服务的镜像名称
- image:web:0.1
- #服务名称
- redis:
- #服务的镜像名称
- image: redis
- #服务名称
- db:
- #服务的镜像名称
- image: mysql
3、第三步配置其他参数(不做硬性要求)
- #容器数据卷挂载目录
- volumes:
- - type: volume
- #主机目录
- source: mydata
- #容器目录
- target: /data
- volume:
- nocopy: true
- #配置docker自定义网络
- networks:
- - my-network
- configs:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。