Docker-compose的基本使用

225 阅读1分钟

Docker-compose安装

[root@localhost bin]# curl -L https://get.daocloud.io/docker/compose/releases/download/v2.2.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
[root@localhost bin]# chmod +x /usr/local/bin/docker-compose
[root@localhost bin]# docker-compose version  # 检查当前是否安装成功
Docker Compose version v2.2.2

Docker-compose的使用

[root@localhost django]# docker-compose up -d  # 以守护进程的形式运行docker-compose中的服务
[root@localhost django]# docker-compose ps  # 查看docker-compose正在运行的服务
[root@localhost django]# docker-compose down  # 关闭服务

Docker-compose文件参数

# docker-compose.yaml文件有严格的书写格式要求
1、version: "docker-compose版本"
2、services: 
   3、服务名:
     image: 指定镜像
     build: 运行自定义的Dockerfile镜像文件
     command: 指定容器启动后执行的命令
     container_name: 生成容器的名称
     depends_on: 依赖关系,哪个容器运行的先后关系
     env: 指定一个环境变量文件名称
     environment: 指定环境变量
     healthcheck: 容器健康检查
        test: ["CMD","curl","-f","http://localhost"]
        interval: docker-compose执行后间隔多长时间执行健康测试
        timeout: 健康检测超时时间
        retries: 
     ports: 端口映射
     sysctls: 内核参数设置
     volumes: 数据卷,也就是容器映射在外的文件
     networks: 写在服务内表示连接这个网桥,顶格写表示创建网桥

使用docker-compose生成两个容器:django+nginx

version: "2"
services:
  django:
    build: ./python  # 使用python中的Dockerfile文件
    container_name: django
    networks:
      - haha
  nginx:
    build: ./nginx  # 使用nginx中的Dockerfile文件
    ports:
      - 8090:80
    depends_on:
      - django
    networks:
      - haha
networks:
  haha:

部署案例

version: "2"
services:
  django:
    build: ./django  # 使用python中的Dockerfile文件
    container_name: django
    networks:
      - haha
  nginx:
    build: ./nginx  # 使用nginx中的Dockerfile文件
    ports:
      - 8090:80
    depends_on:
      - django
    networks:
      - haha
networks:
  haha: