(二)docker-compose使用——1 安装与命令介绍

目录

1. docker-compose步骤

2. 安装compose

2.1 下载当前稳定版本并赋予执行权限

 2.2 设置环境变量

3. 更新

4. 卸载

5. compose命令详解

5.1 build命令

5.2 bundle命令

5.3 config命令

5.4 create命令

5.5 down命令

5.6 events命令

5.7 exec命令

5.8 images命令

5.9 kill命令

5.10 logs命令

5.11 pause命令

5.12 port命令

5.13 ps命令

5.14 pull命令

5.15 push命令

5.16 restart命令

5.17 rm命令

5.18 run命令

5.19 scale命令

5.20 start命令

5.21 stop命令

5.22 top命令

5.23 unpause命令

5.24 up命令


docker-compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,可以使用YAML文件来配置应用程序的服务。然后,使用单个命令,可以从配置中创建并启动所有服务。

1. docker-compose步骤

  1. 使用Dockerfile定义应用程序的环境.
  2. docker-compose.yml中定义构成应用程序的服务.
  3. 运行docker-compose up启动并运行整个应用程序。

2. 安装compose

2.1 下载当前稳定版本并赋予执行权限

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

 2.2 设置环境变量

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
#或者:
vim /etc/profile
export COMPOSE=/usr/local/bin/
export PATH=$COMPOSE:$PATH

#执行: source /etc/profile 生效.

3. 更新

从版本1.3开始,Compose使用Docker标签来跟踪容器,并且需要重新创建容器以添加标签。 如果Compose检测到没有标签创建的容器,它将拒绝运行.

4. 卸载

sudo rm /usr/local/bin/docker-compose
#或者:
pip uninstall docker-compose

5. compose命令详解

5.1 build命令

Usage: build [options] [--build-arg key=val...] [SERVICE...]
选项: 
--compress    使用gzip压缩构建上下文
--force-rm    始终移除中间容器
--no-cache    构建镜像时不要使用缓存
--pull       拉取最新版本的镜像
-m, --memory MEM  设置构建容器的内存限制
--build-arg key=val   设置服务的构建时候的变量
 --parallel      并行构建镜像

注意: 如果更改服务的Dockerfile,请运行docker-compose build进行重建。

5.2 bundle命令

Usage: bundle [options]
选项:
--push-images   自动推送构建以后的服务的镜像
-o, --output PATH   将包文件写入的路径

5.3 config命令

Usage: config [options]
选项:
--resolve-image-digests  镜像摘要的标记
--no-interpolate        不要插入环境变量
-q, --quiet      仅验证配置,不打印任何内容
--services    打印服务名称,每行一个
--volumes     打印存储卷名称,每行一个

--hash="*"    打印服务配置哈希,每行一个。设置“service1,service2”以获取指定服务的列表或使用通配符来显示所有服务。

5.4 create命令

为服务创建容器
Usage: create [options] [SERVICE...]
选项: 
--force-recreate    即使没有更改配置,也要重新创建容器
--no-recreate    如果容器已存在,请不要重新创建。
--no-build     即使容器丢失,也不要构建镜像.
 --build    在创建容器之前构建镜像

5.5 down命令

Usage: down [options]
选项:
--rmi type   删除镜像。类型:                               
            'all':删除任何服务使用的所有图像。                    
            'local':仅删除没有的图像                               
            自定义标签由image字段设置。

-v, --volumes   删除volumes中声明的存储卷
--remove-orphans  删除没有在文件中定义的服务的容器
-t, --timeout TIMEOUT 以秒为单位指定关闭超时(默认10s)

默认删除的内容:在Compose文件中定义的服务的容器和定义的服务的网络.

注意:永远不会删除定义为外部的网络和卷.:

5.6 events命令

Usage: events [options] [SERVICE...]
选项:
--json   将事件输出为json对象流

5.7 exec命令

Usage: exec [options] [-e KEY=VAL...] SERVICE COMMAND [ARGS...]
选项:
-d, --detach    在后台运行命令
--privileged    为进程提供扩展权限
-u, --user USER 以该用户身份运行该命令
-T  禁用伪tty分配。默认情况下`docker-compose exec`分配TTY

--index=index   容器的索引.
-e, --env KEY=VAL  设置环境变量
-w, --workdir DIR   此命令的workdir目录的路径

5.8 images命令

Usage: images [options] [SERVICE...]
选项:
-q, --quiet   仅显示ID

5.9 kill命令

Usage: kill [options] [SERVICE...]
选项:
-s SIGNAL   SIGNAL信号发送到容器,默认信号是SIGKILL

通过发送SIGKILL信号强制运行容器停止:
docker-compose kill -s SIGINT

5.10 logs命令

Usage: logs [options] [SERVICE...]
选项:
--no-color  产生单色输出
-f, --follow    按照日志输出
-t, --timestamps    显示时间戳
--tail="all"    每个容器的日志末尾显示的行数

5.11 pause命令

Usage: pause [SERVICE...]
暂停运行服务的容器: docker-compose unpause

5.12 port命令

Usage: port [options] SERVICE PRIVATE_PORT
选项:
--protocol=proto     tcp或udp.默认是tcp
--index=index       容器的索引.

5.13 ps命令

Usage: ps [options] [SERVICE...]
选项:
-q, --quiet  仅显示id
--services   显示服务
--filter KEY=VAL  按属性过滤服务
-a, --all   显示所有已停止的容器

5.14 pull命令

Usage: pull [options] [SERVICE...]
--ignore-pull-failures  拉取镜像失败时忽略
--parallel  并行拉取镜像
--no-parallel   禁用并行拉取镜像
-q, --quiet     拉取镜像时不打印进度信息
--include-deps  将服务声明为依赖项

5.15 push命令

Usage: push [options] [SERVICE...]
选项:
--ignore-push-failures   推送镜像失败时忽略

5.16 restart命令

Usage: restart [options] [SERVICE...]
选项:
-t, --timeout TIMEOUT   以秒为单位指定关闭超时

5.17 rm命令

Usage: rm [options] [SERVICE...]
选项:
-f, --force  不要询问是否删除,强制删除.
-s, --stop   在移除之前停止容器
-v     删除附加到容器的存储卷

列出所有卷,使用docker volume ls。 
任何不在卷中的数据都将丢失。

删除已停止的服务容器。 默认情况下,不会删除附加到容器的存储卷

5.18 run命令

Usage:
    run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l KEY=VALUE...]  SERVICE [COMMAND] [ARGS...]
选项:
-d, --detach    在后台运行容器,打印新容器名称
--name NAME     为容器指定名称
--entrypoint CMD    覆盖镜像的入口点
-e KEY=VAL     设置环境变量
-l, --label KEY=VAL 添加或覆盖标签(可多次使用)
-u, --user=""   以指定的用户名或uid运行
--no-deps    不要启动依赖的服务
--rm    运行后删除容器
-p, --publish=[]    将容器的端口发布到主机
--service-ports 在启用并映射服务端口的情况下运行命令给主机.
--use-aliases   在网络中使用服务的网络别名
-v, --volume=[] 绑定一个存储卷
-w, --workdir=""    容器内的工作目录

例如:
docker-compose run --service-ports web python manage.py shell
docker-compose run --publish 8080:80 -p 2022:22 -p 127.0.0.1:2021:21 web python manage.py shell
docker-compose run db psql -h db -U docker
docker-compose run --no-deps web python manage.py shell

5.19 scale命令

请使用带有--scale标志的up命令。
Usage: scale [options] [SERVICE=NUM...]
选项:
-t, --timeout TIMEOUT   以秒为单位指定关闭超时

设置要为服务运行的容器数。 数字以service = num的形式指定为参数:
docker-compose scale web=2 worker=3

5.20 start命令

Usage: start [SERVICE...]
启动服务的现有容器

5.21 stop命令

Usage: stop [options] [SERVICE...]
-t, --timeout TIMEOUT   以秒为单位指定关闭超时

5.22 top命令

Usage: top [SERVICE...]
显示运行的进程.

5.23 unpause命令

Usage: unpause [SERVICE...]
取消暂停服务的暂停容器

5.24 up命令

Usage: up [options] [--scale SERVICE=NUM...] [SERVICE...]
选项:
-d, --detach  在后台运行容器,打印新的容器名称
--no-color   产生单色输出
--quiet-pull  拉取时不打印进度信息
--no-deps    不要启动与这个服务依赖的其他服务
--force-recreate  即使配置也重新创建容器
--always-recreate-deps  重新创建依赖容器
--no-recreate   如果容器已存在,就不要创建.
--no-build    即使丢失,也不要构建镜像.
--no-start  创建后不要启动服务
--build     在启动容器之前构建映像
--abort-on-container-exit   如果有任何容器停止,则停止所有容器
 -t, --timeout TIMEOUT  对容器使用此超时(以秒为单位)连接时或容器时关闭. 
-V, --renew-anon-volumes    重新创建存储卷,不检索之前容器的数据.
--remove-orphans    删除未定义的服务的容器
--exit-code-from SERVICE  返回所选服务的退出代码
--scale SERVICE=NUM  将SERVICE扩展到NUM个实例
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青苔猿猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值