docker-compose的使用

发布时间 2023-04-27 12:27:48作者: 一先生94

1.docker-compose.yml中支持的模板命令

参考:https://yeasy.gitbook.io/docker_practice/compose/compose_file

a. build  通过docker-compose在启动容器之前现根据Dockerfile构建镜像,然后根据构建镜像启动容器
b.command指令  覆盖容器启动后默认执行的命令
c.container_name 指令  用来指定docker-compose启动容器名称   注意:不推荐指定容器名称
d.depends_on  指令  解决容器的依赖.启动先后的问题
注意:当前服务不会等待,被依赖服务【完全启动】才会启动
e.environment 指令  用来给容器启动指定环境变量  相当于 docker run -e 选项
f.env_file 指令  用来给容器启动指定环境变量文件 相当于docker run -e 选项
g.expose  指令  用来指定构建镜像过程中容器暴露的端口号
h.image  指令   用来指定启动容器使用镜像是谁   相当于docker run  image(镜像名)
i.networks  指令   用来指定启动容器使用网桥  相当于 docker run  --network 
j.ports  指令  用来指定宿主机和容器端口映射  相当于  docker run -p 
k.volumes 指令  用来指定宿主机中容器目录映射  docker run  -v  
l.restart  指令   用来指定容器服务总是运行 docker run  --restart=always

2.具体使用参考

version: "3.8"

# 管理一组服务
services:
  web:
    build: ./ # 定Dockerfile上下文目录context  一切都是默认值
        context: ./ # 用来指定Dockerfile上下文目录
        dockerfile: Dockerfile  # 指定Dockerfile文件名称
    ports:  #  暴露端口
        - "8001:8001"
    #command: ["python","manage.py","runserver","0.0.0.0:8001"] 用来覆盖容器启动之后默认指令,类似于docker  run image 覆盖的命令