-
Docker-Compose
项目是Docker
官方的开源项目,负责实现对Docker
容器集群的快速编排。 -
Docker-Compose
将所管理的容器分为三层,分别是工程project
,服务service
以及容器container
-
Docker-Compose
项目由Python
编写,调用Docker
服务提供的API来对容器进行管理。 -
Docker-compose
默认配置文件为docker-compose.yml
,可在配置文件中指定所需要启动每个容器所依赖的镜像、端口映射、文件挂载等配置
-
添加
epel
源:yum install -y epel-release
-
安装
python-pip
yum install -y python-pip
-
安装
docker-compose
pip install docker-compose
-
验证是否安装成功
docker-compose -version
Could not find a version that satisfies the requirement docker-compose (from versions: ) No matching distribution found for docker-compose You are using pip version 8.1.2, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. #可执行命令pip install —upgrade pip 更新一下pip版本就可以解决了
# 指定版本信息,不同版本语法会有所差异 version: '2' # 定义服务配置信息 services: # 定义nginx容器 nginx: # 指定根据哪个镜像来启动容器 image: xxx.com/xwjs/nginx:1.17 # 服务停止后自动重启 restart: always # 指定容器与宿主机端口映射关系,8888是宿主机端口,80是容器端口,等同于docker run命令中的-p参数 ports: - "8888:80" - "4433:443" # 容器挂载信息,: 前为宿主机目录,: 后为容器目录,$PWD代表当前目录,等同于docker run命令中的-v参数 volumes: - $PWD/nginx/conf.d/:/etc/nginx/conf.d/ - $PWD/nginx/logs/:/var/log/nginx/ # 继承php容器的挂载目录 volumes_from: - php # 与php容器进行关联,等同于docker run命令中的--links命令 links: - php:php # 定义依赖容器,当docker-compose要启动nginx容器时会先启动其依赖的容器 depends_on: - php # 定义容器启动后的名字 container_name: nginx # 定义php容器 php: image: xxx.com/xwjs/php:7.2 restart: always volumes: - $PWD/html:/var/www/html:cached links: - mysql:mysql depends_on: - mysql container_name: php # 定义mysql容器 mysql: image: xxx.com/xwjs/mysql:8.0 restart: always # 开发环境配置,线上环境不配置 ports: - "33066:3306" # 等同于docker run命令中的-e参数 environment: MYSQL_ROOT_PASSWORD: 1 volumes: - $PWD/mysql/:/var/lib/mysql/ container_name: mysql # 定义phpmyadmin容器 phpmyadmin: image: phpmyadmin/phpmyadmin restart: always links: - mysql:db ports: - "8080:80" container_name: phpmyadmin
其他命令
command
:容器启动后要执行的命令
networks
:容器运行过程中使用的网络
volumes
:公共挂载目录(3.0以上可用)
build
:通过Dockerfile
构建镜像并启动容器
context
:Dockerfile文件路径
dockerfile
:Dockerfile文件名字
resource
:资源限制,例如CPU
、memory
三、基本使用
1. 在docker-compose.yml文件所在目录下执行命令docker-compose up -d
2. 通过-f参数指定docker-compose.yml文件位置,在任意目录执行docker-compose -f /your/path/docker-compose.yml up -d
常用命令:
1. docker-compose up 根据docker-compose.yml创建并启动所有容器 2. docker-compose up -d 以后台运行模式,根据docker-compose.yml创建并启动所有容器 3. docker-compose ps 列出当前yml配置文件中所定义的容器 4. docker-compose stop|start|restart container_name 对指定的容器进行停止、启动、重启操作 5. docker-compose down 停止并移除所有容器,包括挂载卷和网络 6. docker-compose logs 查看容器服务运行日志 7. docker-compose rm container_name 删除停止的容器
-
根据项目需求,通过
Dockerfile
定制服务镜像; -
方便内部流通;
在阿里云搭建私有仓库
-
创建命名空间;
-
创建仓库;
-
添加及修改镜像;
# 添加镜像 docker tag [ImageId] xxx.com/namespace/code:[镜像版本号] docker push xxx.com/namespace/code:[镜像版本号]
更多用法可谷歌一下相应官网...
如有错误的地方请联系博主更正