You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

9.2 KiB

icon date category tag headerDepth
edit 2021-10-17
Docker
Linux
docker-compose
Docker
5

Linux 安装 docker-compose

docker-compose

docker compose 在 Docker 容器运用中具有很大的学习意义docker compose 是一个整合发布应用的利器。而使用 docker compose 时,懂得如何编排 docker compose 配置文件是很重要的。

安装

Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases

方式一:

#curl -L "https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 
#github太卡了网好和科学上网的同学可以使用
curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-$(uname -m)"  -o /usr/local/bin/docker-compose 

#curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

docker-compose version # 查看版本号,测试是否安装成功
你可以通过修改URL中的版本可以自定义您的需要的版本。

方式二:

  1、安装python-pip

  yum -y install epel-release

  yum -y install python-pip

  2、安装docker-compose

  pip install docker-compose

  待安装完成后,执行查询版本的命令确认安装成功

  docker-compose version

  spring.dubbo

  application.name

  registry.port

参数详解

docker 编排参数详解docker-compose.yml 配置文件编写)

常用命令

1、Docker-Compose命令格式

docker-compose [-f ...] [options] [COMMAND] [ARGS...] 命令选项如下: -ffile FILE指定Compose模板文件默认为docker-compose.yml可以多次指定。 -pproject-name NAME指定项目名称默认将使用所在目录名称作为项目名。 -x-network-driver 使用Docker的可拔插网络后端特性需要Docker 1.9+版本) -x-network-driver DRIVER指定网络后端的驱动默认为bridge需要Docker 1.9+版本) -verbose输出更多调试信息 -vversion打印版本并退出

2、docker-compose up

docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...] 选项包括: -d 在后台运行服务容器 no-color 不使用颜色来区分不同的服务的控制输出 no-deps 不启动服务所链接的容器 force-recreate 强制重新创建容器不能与no-recreate同时使用 no-recreate 如果容器已经存在则不重新创建不能与force-recreate同时使用 no-build 不自动构建缺失的服务镜像 build 在启动容器前构建服务镜像 abort-on-container-exit 停止所有容器,如果任何一个容器被停止,不能与-d同时使用 -t, timeout TIMEOUT 停止容器时候的超时默认为10秒 remove-orphans 删除服务中没有在compose文件中定义的容器 scale SERVICE=NUM 设置服务运行容器的个数将覆盖在compose中通过scale指定的参数 docker-compose up 启动所有服务 docker-compose up -d 在后台所有启动服务 -f 指定使用的Compose模板文件默认为docker-compose.yml可以多次指定。 docker-compose -f docker-compose.yml up -d

3、docker-compose ps

docker-compose ps [options] [SERVICE...] docker-compose ps 列出项目中目前的所有容器

4、docker-compose stop

docker-compose stop [options] [SERVICE...] 选项包括: -t, timeout TIMEOUT 停止容器时候的超时默认为10秒 docker-compose stop 停止正在运行的容器可以通过docker-compose start 再次启动

5、docker-compose -h

docker-compose -h 查看帮助

6、docker-compose down

docker-compose down [options] 停止和删除容器、网络、卷、镜像。 选项包括: rmi type删除镜像类型必须是all删除compose文件中定义的所有镜像local删除镜像名为空的镜像 -v, volumes删除已经在compose文件中定义的和匿名的附在容器上的数据卷 remove-orphans删除服务中没有在compose中定义的容器 docker-compose down 停用移除所有容器以及网络相关

7、docker-compose logs

docker-compose logs [options] [SERVICE...] 查看服务容器的输出。默认情况下docker-compose将对不同的服务输出使用不同的颜色来区分。可以通过no-color来关闭颜色。 docker-compose logs 查看服务容器的输出

8、docker-compose build

docker-compose build [options] [--build-arg key=val...] [SERVICE...] 构建(重新构建)项目中的服务容器。 选项包括: compress 通过gzip压缩构建上下环境 force-rm 删除构建过程中的临时容器 no-cache 构建镜像过程中不使用缓存 pull 始终尝试通过拉取操作来获取更新版本的镜像 -m, memory MEM为构建的容器设置内存大小 build-arg key=val为服务设置build-time变量 服务容器一旦构建后将会带上一个标记名。可以随时在项目目录下运行docker-compose build来重新构建服务

9、docker-compose pull

docker-compose pull [options] [SERVICE...] 拉取服务依赖的镜像。 选项包括: ignore-pull-failures忽略拉取镜像过程中的错误 parallel多个镜像同时拉取 quiet拉取镜像过程中不打印进度信息 docker-compose pull 拉取服务依赖的镜像

10、docker-compose restart

docker-compose restart [options] [SERVICE...] 重启项目中的服务。 选项包括: -t, timeout TIMEOUT指定重启前停止容器的超时默认为10秒 docker-compose restart 重启项目中的服务

11、docker-compose rm

docker-compose rm [options] [SERVICE...] 删除所有(停止状态的)服务容器。 选项包括: f, force强制直接删除包括非停止状态的容器 -v删除容器所挂载的数据卷 docker-compose rm 删除所有停止状态的服务容器。推荐先执行docker-compose stop命令来停止容器。

12、docker-compose start

docker-compose start [SERVICE...] docker-compose start 启动已经存在的服务容器。

13、docker-compose run

docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...] 在指定服务上执行一个命令。 docker-compose run ubuntu ping www.baidu.com 在指定容器上执行一个ping命令。

14、docker-compose scale

docker-compose scale web=3 db=2 设置指定服务运行的容器个数。通过service=num的参数来设置数量

15、docker-compose pause

docker-compose pause [SERVICE...] 暂停一个服务容器

16、docker-compose kill

docker-compose kill [options] [SERVICE...] 通过发送SIGKILL信号来强制停止服务容器。 支持通过-s参数来指定发送的信号例如通过如下指令发送SIGINT信号 docker-compose kill -s SIGINT

17、dokcer-compose config

docker-compose config [options] 验证并查看compose文件配置。 选项包括: resolve-image-digests 将镜像标签标记为摘要 -q, quiet 只验证配置,不输出。 当配置正确时,不输出任何内容,当文件配置错误,输出错误信息 services 打印服务名,一行一个 volumes 打印数据卷名,一行一个

18、docker-compose create

docker-compose create [options] [SERVICE...] 为服务创建容器。 选项包括: force-recreate重新创建容器即使配置和镜像没有改变不兼容no-recreate参数 no-recreate如果容器已经存在不需要重新创建不兼容force-recreate参数 no-build不创建镜像即使缺失 build创建容器前生成镜像

19、docker-compose exec

docker-compose exec [options] SERVICE COMMAND [ARGS...] 选项包括: -d 分离模式,后台运行命令。 privileged 获取特权。 user USER 指定运行的用户。 -T 禁用分配TTY默认docker-compose exec分配TTY。 index=index当一个服务拥有多个容器时可通过该参数登陆到该服务下的任何服务例如docker-compose exec index=1 web /bin/bash web服务中包含多个容器

20、docker-compose port

docker-compose port [options] SERVICE PRIVATE_PORT 显示某个容器端口所映射的公共端口。 选项包括: protocol=proto指定端口协议TCP默认值或者UDP index=index如果同意服务存在多个容器指定命令对象容器的序号默认为1

21、docker-compose push

docker-compose push [options] [SERVICE...] 推送服务依的镜像。 选项包括: ignore-push-failures 忽略推送镜像过程中的错误

22、docker-compose stop

docker-compose stop [options] [SERVICE...] 显示各个容器运行的进程情况。

23、docker-compose unpause

docker-compose unpause [SERVICE...] 恢复处于暂停状态中的服务。

24、docker-compose version

docker-compose version 打印版本信息。