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文章来源:https://www.toymoban.com/news/detail-502588.html
#配置我们自己的服务
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、第三步配置其他参数(不做硬性要求)文章来源地址https://www.toymoban.com/news/detail-502588.html
#容器数据卷挂载目录
volumes:
- type: volume
#主机目录
source: mydata
#容器目录
target: /data
volume:
nocopy: true
#配置docker自定义网络
networks:
- my-network
configs:
到了这里,关于Docker Compose的yaml文件配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!