docker-compose的使用

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 覆盖的命令

 3.docker-compose 相关指令

 docker-compose  命令  项目/项目中某一个服务   注意:没有特殊说明,则默认都是操作整个项目

 语法:docker-compose  -f   docker-compose.yml   命令 【选项】 【服务id】

 a.up  【服务id】 

    docker-compose up  整个项目操作

    docker-compose   up   服务id   对当前docker-compose 中对应服务id容器

  作用: 该命令十分强大,它将尝试自动完成构建镜像。(重新)创建服务,启动服务。并关联服务容器的一系列操作。

 b.down  【服务id】

   docker-compose down  整个项目操作

   docker-compose down  【服务id】 对当前docker-compose中对应的服务id容器

       作用:  关闭所有容器(某一个容器)  并移除网络。

c.exec  【服务id】 

   docker-compose exec  【服务id】 

        作用:  进入某个容器中

d. ps

    docker-compose ps  【选项】

     作用:列出所有容器

e.restart

   docker-compose  restart  -t   【服务id】   整个项目或者某个服务重启   -t:指定时间重启

f.rm

   docker-compose rm  项目/【服务id】  删除项目/服务id   注意: 删除停止的项目/容器   运行的无法删除 

g.top 

   docker-compose top   项目/【服务id】  查看整个项目或者某个服务内运行的进程

h.unpause   恢复   docker-compose  unpause  项目/服务id   恢复整个项目/某个服务

    pause     暂停   docker-compose pause   项目/服务id     暂停整个项目/某个服务

i.logs  

   docker-compose  logs  查看整个项目/服务id 的日志   -f (实时)

 

注意上述命令中重点的是: docker-compose up /down 

 

posted on 2023-04-27 12:25  一先生94  阅读(146)  评论(0编辑  收藏  举报

导航