Docker Compose
Docker-compose容器编排,是官方的开源项目,负责实现对Docker容器集群的快速编排。需要定义一个YAML格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。
官网compose安装地址
Ubuntu and Debian
# 通过仓库安装
sudo apt-get update
sudo apt-get install docker-compose-plugin
RPM-based distros
# 通过仓库安装
sudo yum update
sudo yum install docker-compose-plugin
# 查看compose版本
docker compose version
核心概念
一个文件
docker-compose.yml
version: "3"
services:
mysql:
image: "mysql:5.7"
volumes:
- /software/mysql:/var/lib/mysql # 数据持久化
restart: always # 容器服务宕机后总是重启
environment: # 环境配置
MYSQL_ROOT_PASSWORD: root #数据库root用户密码
MYSQL_DATABASE: shop #shop数据库名称
MYSQL_USER: wsmysql #数据库用户名
MYSQL_PASSWORD: ws123 #数据库密码
ports:
- "3306:3306"
networks:
- nodenet
redis:
image: "redis:alpine"
networks:
- nodenet
networks:
nodenet:
driver: bridge
ipam:
config:
- subnet: 10.244.1.0/24
gateway: 10.244.1.1
两个要素
服务(service):应用容器实例
工程(project):由一组关联的应用容器组成的一个 完整业务单元,在docker-compose.yml文件中定义。
常用命令
# 查看docker compose的命令
docker compose --help
# 运行
docker compose run web env
# 启动编排的compose
docker compose up
# 查看compose进程
docker compose ps
# 停止
docker compose stop
# 进入容器,bash进入失败,可以使用sh有可能只有精简指令集
docker exec -it [container_name/id] bash
# 清除所有镜像
docker rm -f $(docker ps -qa)