赞
踩
Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。通过Docker Compose,您可以使用YAML文件来配置应用程序需要的所有服务,并使用一个命令从YAML文件配置中创建并启动所有服务。
Compose 中有两个重要的概念:
Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。想要使用docker-compose需要安装好docker环境。
使用步骤:
举例:以部署wordpress博客为例,如果使用docker需要手动部署mysql、redis、wordpress博客,而且容器间还有依赖关系,先启动mysql容器再启动wordpress容器。如果是以docker-compose则可以将3个容器定义为一个项目,项目包含3个服务,并且先启动mysql和redis,最后启动wordpress并连接。
docker-compose是一个可执行文件,直接下载到Bin目录,赋予执行权限即可。可以直接在服务器下载或者下载完成后上传到/usr/local/bin/
目录。
# 下载二进制文件
sudo curl -L https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 赋予权限
chmod +x /usr/local/bin/docker-compose
# 测试
docker-compose -v
在目录下创建.yaml文件。
# 创建一个docker-compose.yaml文件,内容如下: version: '3' services: mysql: image: mysql:latest ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: password volumes: - mysql_data:/var/lib/mysql redis: image: redis:latest ports: - "6379:6379" wordpress: image: wordpress:latest ports: - "8080:80" environment: WORDPRESS_DB_HOST: mysql WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: password WORDPRESS_DB_NAME: wordpress REDIS_HOST: redis depends_on: - mysql - redis volumes: mysql_data:
说明:
简单说就是以创建一个指定名称的yaml文件,以缩进格式编写定义服务于容器名称,端口映射,卷挂载,环境变量,与docker部署一致。必须在services下面定义容器配置,然后使用镜像等等内容。
启动整个项目,在.yaml文件的当前目录执行docker-compose up -d
# 启动容器
docker-compose up -d
# 重启
docker-compose restart
# 停止删除容器
docker-compose down
使用docker-compose可以实现整个项目的停止重启或者单个服务的管理。
常见的管理命令:
总结:通过在docker-compose.yaml批量创建容器,并且容器间可以实现依赖与顺序启动,方便进行管理。通过在services下面定义服务,服务的定义与docker一致,注意缩进格式即可。
本文由 mdnice 多平台发布
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。