docker-compose命令

官网:https://docs.docker.com/compose/install/

在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。

例如要实现一个web项目,除了web服务容器本身,往往还需要再加上护短的数据服务容器,甚至还包括前端的负载均衡容器等。

Compose定位:它是一个用于定义和运行多容器 Docker 的应用程序工具(单机容器编排工具)

使用 Docker Compose 可以轻松、高效的管理容器

docker-compose里的重要概念:

1 task(任务):一个容器被称为一个任务。

2 service(服务):多个容器集合

3 stack(服务栈):由多个服务组成,相互配合完成特定业务。如web应用服务,数据库服务,共同构成web服务栈。一般由一个docker-compose.yaml 文件定义

安装docker compose

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose

验证:

docker-compose -v

Docker-compose.yml 模板文件主要命令

官网参考:https://docs.docker.com/compose/compose-file/

大部分指令与docker create|run 相关参数的含义都是类似的。

version:指定 docker-compose.yml 文件的写法格式

services:多个容器集合

build:配置构建时,Compose 会利用它自动构建镜像,该值可以是一个路径,也可以是一个对象,用于指定 Dockerfile 参数

command:覆盖容器启动后默认执行的命令

dns:配置 dns 服务器,可以是一个值或列表

dns_search:配置 DNS 搜索域,可以是一个值或列表

environment:环境变量配置,可以用数组或字典两种方式

env_file:从文件中获取环境变量,可以指定一个文件路径或路径列表,其优先级低于 environment 指定的环境变量

expose:暴露端口,只将端口暴露给连接的服务,而不暴露给主机

image:指定服务所使用的镜像

network_mode:设置网络模式

networks**:指定自定义网络**

networks通常应用于集群服务,从而使得不同的应用程序得以在相同的网络中运行,从而解决网络隔离问题。关于这个标签还有一个特别的子标签aliases,这是一个用来设置服务别名的标签,相同的服务可以在不同的网络有不同的别名。

ports:对外暴露的端口定义,和 expose 对应

links:将指定容器连接到当前连接,可以设置别名,避免ip方式导致的容器重启动态改变的无法连接情况

lables:向容器添加元数据,和Dockerfile的LABEL指令一个意思

volumes:卷挂载路径

logs:日志输出信息

stop_grace_period:指定在发送 SIGKILL 信号前,如果没对 SIGTERM 信号(或其他使用 stop_signal 选项设置的停止信号)进行处理时试图停止一个容器要等待的时间限制,默认为 10s。

depend on :指定依赖于哪个服务

deploy: 指定与部署和运行相关的配置

replicas如果服务是replicated(默认为),请指定在任何给定时间应运行的容器数
resources配置资源约束

reservations [ˌrɛzəˈveɪʃənz]保留

secrets ˈ【siːkrəts】机密

Docker Compose 常用命令

ps:列出所有运行容器

docker-compose ps

logs:查看服务日志输出

docker-compose logs

port:打印绑定的公共端口,下面命令可以输出 eureka 服务 8761 端口所绑定的公共端口

docker-compose port eureka 8761

build:构建或者重新构建服务

docker-compose build

start:启动指定服务已存在的容器

docker-compose start zabbix

stop:停止已运行的服务的容器

docker-compose stop zabbix

rm:删除指定服务的容器

docker-compose rm eureka

up:构建、启动容器

执行docker-compose up -d (注意需要在文件所在的路径下执行)

kill:通过发送 SIGKILL 信号来停止指定服务的容器

docker-compose kill eureka

pull:下载服务镜像

scale:设置指定服务运行容器的个数,以 service=num 形式指定

docker-compose scale user=3 movie=3

run:在一个服务上执行一个命令

docker-compose run web bash

down:停止并移除服务

docker-compse -f xx.yml down zabbix-server zabbix-web mysql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云原生解决方案

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

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

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

打赏作者

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

抵扣说明:

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

余额充值