docker-compose编排

安装

快速安装

sudo curl -L https://github.com/docker/compose/releases/download/1.24.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#安装Docker-Compose:
sudo chmod +x /usr/local/bin/docker-compose

安装最新版

#安装pip
yum -y install epel-release
yum -y install python-pip
#确认版本
pip --version
#更新pip
pip install --upgrade pip 
#安装docker-compose
pip install docker-compose
#查看版本
docker-compose version

Docker-Compose命令格式

docker-compose [-f ...] [options] [COMMAND] [ARGS...]

命令选项如下:

-f,–file FILE指定Compose模板文件,默认为docker-compose.yml,可以多次指定。
-p,–project-name NAME指定项目名称,默认将使用所在目录名称作为项目名。
-x-network-driver 使用Docker的可拔插网络后端特性(需要Docker 1.9+版本)
-x-network-driver DRIVER指定网络后端的驱动,默认为bridge(需要Docker 1.9+版本)
-verbose输出更多调试信息
-v,–version打印版本并退出
  1. docker-compose top(查看运行的进程,实时更新)
  2. docker-compose up
    docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]

选项包括:

-d 在后台运行服务容器
  –scale SERVICE=NUM 设置服务运行容器的个数,将覆盖在compose中通过scale指定的参数
–force-recreate 强制重新创建容器,不能与–no-recreate同时使用
–no-recreate 如果容器已经存在,则不重新创建,不能与–force-recreate同时使用
–no-build 不自动构建缺失的服务镜像
–build 在启动容器前构建服务镜像

–remove-orphans 删除服务中没有在compose文件中定义的容器(会删除docker请求的网络服务)
–abort-on-container-exit 停止所有容器,如果任何一个容器被停止,不能与-d同时使用
-t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
  –no-color 不使用颜色来区分不同的服务的控制输出
–no-deps 不启动服务所链接的容器

启动所有服务

docker-compose up

在后台所有启动服务

docker-compose up -d

-f 指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定。

docker-compose -f docker-compose.yml up -d
  1. docker-compose ps(列出项目中目前的所有容器)
  2. docker-compose stop(停止正在运行的容器,可以通过docker-compose start 再次启动)
  3. docker-compose down(停止和删除容器、网络、卷、镜像)
    选项包括:
–rmi type,删除镜像,类型必须是:all,删除compose文件中定义的所有镜像;local,删除镜像名为空的镜像
-v, –volumes,删除已经在compose文件中定义的和匿名的附在容器上的数据卷
–remove-orphans,删除服务中没有在 compose 中定义的容器

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

常用命令



docker-compose start (启动已经存在的服务容器)
docker-compose restart(重启项目中的服务)
docker-compose pull(拉取服务依赖的镜像)

8.docker-compose rm

选项包括:

–f, –force,强制直接删除,包括非停止状态的容器
-v,删除容器所挂载的数据卷

删除所有(停止状态的)服务容器。推荐先执行docker-compose stop命令来停止容器。

docker-compose rm
  1. docker-compose run
    docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]

在指定服务上执行一个命令。

在指定容器上执行一个ping命令。

docker-compose run ubuntu ping www.baidu.com
  1. docker-compose scale
    web 设置指定服务运行的容器个数。通过service=num的参数来设置数量

    docker-compose scale web=3 db=2
  1. docker-compose pause
    docker-compose pause [SERVICE...]

暂停一个服务容器

docker-compose kill

    docker-compose kill [options] [SERVICE...]

通过发送SIGKILL信号来强制停止服务容器。

支持通过-s参数来指定发送的信号,例如通过如下指令发送SIGINT信号:

docker-compose kill -s SIGTERM(SIGTERM 15   SIGKILL 9  SIGCONT 18 SIGSTOP 19)
  1. dokcer-compose config

    docker-compose config [options]

验证并查看compose文件配置。

选项包括:

–resolve-image-digests 将镜像标签标记为摘要
-q, –quiet 只验证配置,不输出。 当配置正确时,不输出任何内容,当文件配置错误,输出错误信息
–services 打印服务名,一行一个
–volumes 打印数据卷名,一行一个
  1. docker-compose create

    docker-compose create [options] [SERVICE…]

  2. </
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 docker-compose 编排 Elasticsearch 集群,可以参考以下步骤: 1. 创建一个 docker-compose.yml 文件,定义 Elasticsearch 服务的配置。例如: ``` version: '3' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es01 environment: - node.name=es01 - cluster.name=my-es-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - esdata01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - esnet es02: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es02 environment: - node.name=es02 - cluster.name=my-es-cluster - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - esdata02:/usr/share/elasticsearch/data networks: - esnet es03: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es03 environment: - node.name=es03 - cluster.name=my-es-cluster - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - esdata03:/usr/share/elasticsearch/data networks: - esnet volumes: esdata01: esdata02: esdata03: networks: esnet: ``` 2. 在终端中进入 docker-compose.yml 文件所在的目录,运行以下命令启动 Elasticsearch 集群: ``` docker-compose up -d ``` 3. 等待一段时间,直到 Elasticsearch 集群启动完成。可以通过以下命令查看集群状态: ``` curl http://localhost:9200/_cat/health?v ``` 输出结果应该类似于: ``` epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1630459477 08:31:17 my-es-cluster green 3 3 15 15 0 0 0 0 - 100.0% ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值