目录
[1、Docker Compose 简介](#1、Docker Compose 简介)
[2、为什么要使用Docker Compose](#2、为什么要使用Docker Compose)
[3、Docker Compose安装使用(Linux)](#3、Docker Compose安装使用(Linux))
[3.1 下载](#3.1 下载)
[3.2 mkdir docker 文件夹目录](#3.2 mkdir docker 文件夹目录)
[3.3 上传docker-compose到docker文件夹](#3.3 上传docker-compose到docker文件夹)
[3.4 移动到 /usr/local/bin 目录下](#3.4 移动到 /usr/local/bin 目录下)
[3.5 添加执行权限](#3.5 添加执行权限)
[3.6 修改文件名为 docker-compose](#3.6 修改文件名为 docker-compose)
[3.7 查看版本](#3.7 查看版本)
[⭐3.8 创建docker-compose.yml文件](#⭐3.8 创建docker-compose.yml文件)
[4.1 Dockerfile](#4.1 Dockerfile)
[4.2 创建docker-compose.yml文件](#4.2 创建docker-compose.yml文件)
[⭐Docker 相关知识点整理](#⭐Docker 相关知识点整理)
1、Docker Compose 简介
图片来源:.NET Core容器化之多容器应用部署@Docker-Compose - JavaShuo
官网简介:Docker Compose overview | Docker Docs
根据官网的说明,Compose是一个定义和运行多容器Docker应用程序的工具 。使用Compose,您可以使用YAML文件来配置应用程序的服务。然后,只需一个命令,就可以从配置中创建并启动所有服务。
在所有环境中创作作品;生产、试运行、开发、测试以及CI工作流。它还包含用于管理应用程序整个生命周期的命令:
- 启动、停止和重建服务
- 查看运行服务的状态
- 流式传输正在运行的服务的日志输出
- 在服务上运行一次性命令
Compose的关键特性使其有效:
- 在单个主机上拥有多个独立的环境
- 创建容器时保留卷数据
- 仅重新创建已更改的容器
- 支持变量和在环境之间移动组合
2、为什么要使用Docker Compose
因为在实际开发中,一个应用往往包含许多个服务,而docker的应用是作为一个容器只运行一个应用进程。因此如果要运行多个微服务就需要运行多个容器,compose的出现就是为了有效地管理这些容器,包括定义、创建、启动等。它是一个能够编排多容器分布式部署的工具。使用 compose 可以简化容器镜像的构建以及容器的运行。
本质上,compose 把 YAML 文件解析成 docker 命令的参数,然后调用相应的 docker 命令行接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器。而容器间的依赖关系由 YAML 文件中的 links 标记指定。(本段引自:https://www.jianshu.com/p/87d701d0801d)
简单来说,就是使用compose能够让docker的操作更加简单和便于管理。
3、Docker Compose安装使用(Linux)
3.1 下载
下载地址(以v2.14.2版本为例):
3.2 mkdir docker 文件夹目录
[root@localhost software]# mkdir docker
[root@localhost software]# ls
canal docker gitlab jdk mysql nexus nginx project rabbitmq redis redis_sentinel
3.3 上传docker-compose到docker文件夹
3.4 移动到 /usr/local/bin 目录下
mv docker-compose-linux-x86_64 /usr/local/bin
3.5 添加执行权限
[root@localhost bin]# chmod u+x docker-compose-linux-x86_64
[root@localhost bin]# ll
总用量 43868
-rwxr--r--. 1 root root 44920832 12月 1 14:15 docker-compose-linux-x86_64
3.6 修改文件名为 docker-compose
进入bin目录下
[root@localhost bin]# mv docker-compose-linux-x86_64 docker-compose
3.7 查看版本
[root@localhost local]# cd bin/
[root@localhost bin]# ls
docker-compose
[root@localhost bin]# docker-compose --version
Docker Compose version v2.14.2
⭐3.8 创建docker-compose.yml文件
简单测试版
version: '2'
services:
hello-compose01:
build: .
image: nginx
container_name: nginx_01
ports:
- "10001:80"
hello-compose02:
build: .
image: nginx
container_name: nginx_02
ports:
- "10002:80"
运行测试
docker-compose的相关命令
[root@localhost test]# docker-compose
Usage: docker compose [OPTIONS] COMMAND
Docker Compose
Options:
--ansi string Control when to print ANSI control characters
("never"|"always"|"auto") (default "auto")
--compatibility Run compose in backward compatibility mode
--env-file string Specify an alternate environment file.
-f, --file stringArray Compose configuration files
--parallel int Control max parallelism, -1 for unlimited (default -1)
--profile stringArray Specify a profile to enable
--project-directory string Specify an alternate working directory
(default: the path of the, first specified, Compose file)
-p, --project-name string Project name
Commands:
build Build or rebuild services
convert Converts the compose file to platform's canonical format
cp Copy files/folders between a service container and the local filesystem
create Creates containers for a service.
down Stop and remove containers, networks
events Receive real time events from containers.
exec Execute a command in a running container.
images List images used by the created containers
kill Force stop service containers.
logs View output from containers
ls List running compose projects
pause Pause services
port Print the public port for a port binding.
ps List containers
pull Pull service images
push Push service images
restart Restart service containers
rm Removes stopped service containers
run Run a one-off command on a service.
start Start services
stop Stop services
top Display the running processes
unpause Unpause services
up Create and start containers
version Show the Docker Compose version information
Run 'docker compose COMMAND --help' for more information on a command.
创建
docker-compose up
查看使用docker-compose创建的容器
docker ps
4、idea整合docker-compose
4.1 Dockerfile
容器和访问端口的关系
编辑Dockerfile文件
4.2 创建docker-compose.yml文件
编辑Edit Configurations
服务台开启查看
创建运行compose
注意:运行compose up 后报错 可能是由于本机未安装 Docker Desktop 该程序,下载安装后需重启电脑,再次运行成功。
下载地址:Docker Desktop: The #1 Containerization Tool for Developers | Docker
参考
容器服务的深入应用及原理剖析(4)带你了解Docker Compose - 知乎
.NET Core容器化之多容器应用部署@Docker-Compose - JavaShuo
docker高级篇-docker-compose容器编排介绍及实战 - 知乎
「Linux云计算SRE课程」docker-compose简介及使用!
Docker入门之docker-compose - minseo - 博客园
⭐Docker 相关知识点整理
-
docker常用命令总结:docker常用命令总结_林隐w的博客-CSDN博客
-
docker搭建mysql主从数据库:docker搭建mysql主从数据库-CSDN博客
-
SpringBoot整合Dockerfile:SpringBoot整合Dockerfile-CSDN博客
感谢阅读,码字不易,多谢点赞!如有不当之处,欢迎反馈指出,感谢!