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: