Compose

概述

1、Compose 是一个用于定义和运行多容器 Docker 应用程序的工具

2、使用 Compose,可以使用一个 YAML 文件来配置应用程序的服务,然后,只需一条命令,就可以创建并启动配置中的所有服务

3、Compose 适用于所有环境:生产、暂存、开发、测试,以及 CI 工作流程,它也有管理应用程序的整个生命周期的命令

(1)启动、停止、重建服务

(2)查看运行中的服务的状态

(3)流畅运行服务的日志输出

(4)在一个服务上运行一次性的命令

4、Compose 主要功能

(1)在一台主机上拥有多个隔离的环境

(2)在创建容器时保留卷数据

(3)只重新创建已经改变的容器

(4)支持变量和在环境之间移动一个组合

 

安装

1、方案一:安装 Docker 桌面

(1)获取 Docker Compose 的最简单和推荐的方法是安装 Docker Desktop

(2)Docker Desktop 包括 Docker Compose、Docker Engine、Docker CLI,它们是 Compose 的先决条件

(3)如果已经安装 Docker Desktop,可以从 Docker 菜单中选择 About Docker Desktop 来检查拥有的 Compose 版本

2、方案二:安装 Compose 插件

(1)如果已经安装 Docker Engine 和 Docker CLI,则可以通过以下方式之一从命令行安装 Compose 插件

(2)使用 Docker 的存储库

(3)手动下载和安装

(4)注意:这仅在 Linux 上可用

3、不再支持独立安装 Compose

 

卸载

1、卸载 Docker Compose 取决于用来安装 Docker Compose 的方法

2、卸载 Docker Desktop

3、卸载 Docker Compose CLI 插件

(1)Ubuntu、Debian

sudo apt-get remove docker-compose-plugin

(2)基于 RPM 的发行版

sudo yum remove docker-compose-plugin

(3)如果使用 curl 安装 Compose CLI 插件

rm $DOCKER_CONFIG/cli-plugins/docker-compose

(4)如果已经为所有用户安装 Compose

rm /usr/local/lib/docker/cli-plugins/docker-compose

(5)如果在使用上述任何一种方法时得到一个 Permission denied 的错误,说明没有允许删除 docker-compose 的权限,要强制删除,请在上述任何一种方法前加上 sudo,然后再次运行

4、检查 Compose CLI 插件的位置,要检查 Compose 的安装位置

docker info --format '{{range .ClientInfo.Plugins}}{{if eq .Name "compose"}}{{.Path}}{{end}}{{end}}'

 

核心

1、docker-compose.yaml

2、服务(Service):单独应用容器示例,如:微服务、MySQL 容器、Nginx 容器

3、工程(Project):一组关联的应用容器,所组成的一个完整业务单元,在 docker-compose.yaml 中定义

 

使用步骤

1、使用 Dockerfile 定义各个微服务应用,并构建出对应镜像

2、使用 docker-compose.yaml 定义一个完整业务单元,安排整体应用中的各个容器服务

3、运行 docker compose up 启动,并运行程序,完成一键部署上线

 

docker compose 命令

1、用法

docker compose [-f <arg>...] [--profile <name>...] [options] [COMMAND] [ARGS...]
docker compose -h|--help

2、options

(1)-f、--file FILE:指定一个备用的合成文件,默认值:docker-compose.yml

(2)-p、--project-name NAME:指定一个备用的项目名称,默认值:目录名

(3)--profile NAME:指定一个要启用的配置文件

(4)--verbose:显示更多输出

(5)--log-level LEVEL:已弃用,且不生效,设置日志级别(DEBUG,INFO,WARNING,ERROR,CRITICAL)

(6)--no-ansi:不打印 ANSI 控制字符

(7)--v、--version:打印版本并退出

(8)--H、--host HOST:要连接的 Daemon socket

(9)--tls:使用 TLS,隐含 --tlsverify

(10)--tlscacert CA_PATH:只相信由这个 CA 签署的证书

(11)--tlscert CLIENT_CERT_PATH:TLS 证书文件的路径

(12)--tlskey TLS_KEY_PATH:TLS 密钥文件的路径

(13)--tlsverify:使用 TLS 并验证远程

(14)--skip-hostname-check:不检查守护进程的主机名与客户证书中指定的名称

(15)--project-directory PATH:指定一个备用的工作目录,默认值:docker-compose.yml 所在路径

(16)--compatibility:如果设置了,Compose 将尝试把 v3 文件中的部署密钥转换为非 Swift 文件,文件中的密钥转换为非 Swarm 的等价物

3、COMMAND

(1)build:构建或重建服务

(2)bundle:从 Compose 文件生成一个 Docker bundle

(3)config:验证并查看 Compose 文件

(4)create:创建服务

(5)down:停止并删除容器、网络、镜像、卷

(6)events:接收来自容器的实时事件

(7)exec:在运行中的容器中执行一个命令

(8)help:获取命令的帮助

(9)images:列出镜像

(10)kill:杀死容器

(11)logs:查看来自容器的输出

(12)pause:暂停服务

(13)port:打印一个端口绑定的公共端口

(14)ps:列出容器

(15)pull:拉出服务镜像

(16)push:推送服务镜像

(17)restart:重新启动服务

(18)rm:删除停止的容器

(19)run:运行一个一次性的命令

(20)scale:设置一个服务的容器数量

(21)start:启动服务

(22)stop:停止服务

(23)top:显示运行中的进程

(24)unpause:取消服务的停顿

(25)up:创建并启动容器

(26)version:显示 Docker Compose 版本信息

posted @   半条咸鱼  阅读(524)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示