Docker系列八:docker-compose容器编排
程序员文章站
2022-06-16 23:12:39
...
目录
一:安装docker-compose
Version 1.18.0 or higher
Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:Releases · docker/compose · GitHub。
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
如果github太慢使用daocloud
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
注:要安装其他版本的 Compose,请替换 1.24.1。
将可执行权限应用于二进制文件:
$ sudo chmod +x /usr/local/bin/docker-compose
创建软链:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功:
$ docker-compose --version
docker-compose version 1.24.1, build 4667896b
卸载docker-compose
sudo rm /usr/local/bin/docker-compose
二:编写docker-compose.yml
参考官网:https://yeasy.gitbook.io/docker_practice/compose/commands
version: '3' # 描述compose文件格式版本
services:
php: # 服务名称 - 可以通过它单独启动服务
image: php:7.2-fpm # 创建容器需要的镜像名
container_name: picture_php # 容器名称
restart: always # 容器重启策略,这里每次退出都重启
privileged: true # 允许容器中运行一些特权命令
volumes: # 数据卷挂载,可以设置宿主机路径或数据卷名称--不同版本写法有区别
- /home/python/py_picture/html:/usr/share/nginx/html
- /home/python/py_picture/build_image/php7/php-fpm.conf:/usr/local/etc/php-fpm.conf:ro
- /home/python/py_picture/build_image/php7/php-fpm.d:/usr/local/etc/php-fpm.d
#- type: bind
# source: /home/python/py_picture/build_image/php7/php-fpm.conf
# target: /usr/local/etc/php-fpm.conf
# read_only: true
ports: # 宿主机:容器端口映射关系
- 9009:9000
environment: # 创建容器时所需的环境变量
Version: 1
networks: # 配置容器链接的网络
- py_picture
web:
image: nginx:1.14.0-alpine
container_name: picture_nginx
restart: always
privileged: true
volumes:
- /home/python/py_picture/html:/usr/share/nginx/html
- /home/python/py_picture/build_image/nginx_v2/conf.d:/etc/nginx/conf.d:ro
- /home/python/py_picture/build_image/nginx_v2/log:/var/log/nginx
ports:
- 90:80
networks:
- py_picture
# 定义网络可以多个
networks:
py_picture:
external: true
三:docker-compose常用命令
# 启动应用
docker-compose up
# 停止应用(会删除服务资源-不删除卷)
docker-compose down
# 删除所有(停止状态的)服务容器
docker-compose rm 推荐先执行 docker-compose stop 命令来停止容器
# 启动已经存在的服务容器
docker-compose start
# 停止已经处于运行状态的容器,但不删除它
docker-compose
# 重启项目中的服务
docker-compose restart
# 查看docker-compose对应服务(容器)的状态
docker-compose ps
# 列出服务(容器)内运行的进程
docker-compose top
# 启动单个容器
docker-compose -f public-compose.yml up web
-> web是服务名称
# 指定yml文件启动容器
docker-compose -f 具体的docker-compose.yml up -d
-> -d:后台模式启动
Compose 和 Docker 兼容性
编写文件格式 |
Docker 引擎 |
撰写规范 |
19.03.0+ |
3.8 |
19.03.0+ |
3.7 |
18.06.0+ |
3.6 |
18.02.0+ |
3.5 |
17.12.0+ |
3.4 |
17.09.0+ |
3.3 |
17.06.0+ |
3.2 |
17.04.0+ |
3.1 |
1.13.1+ |
3.0 |
1.13.0+ |
2.4 |
17.12.0+ |
2.3 |
17.06.0+ |
2.2 |
1.13.0+ |
2.1 |
1.12.0+ |
2.0 |
1.10.0+ |
推荐阅读
-
AspNetCore容器化(Docker)部署(三) —— Docker Compose容器编排
-
docker-compose编排参数详解
-
.net core docker容器编排部署(linux)
-
Docker系列06—基于容器制作镜像并上传到Docker Registry
-
Docker-compose 编排工具安装
-
SpringBoot起飞系列-配置嵌入式Servlet容器(八)
-
8天入门docker系列 —— 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署
-
8天入门docker系列 —— 第二天 通过一个aspnetcore程序加深对容器的理解
-
Docker笔记-02 (DOCKER-COMPOSE来部署docker容器)
-
优雅地实现安全的容器编排_-_Docker_Secrets wordpressmysql浏览器socket工作