Compose 安装

运行此命令下载最新版本的Docker Compose

$ curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

对二进制文件应用可执行权限

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

验证

$ docker-compose --version
docker-compose version 1.16.1, build 6d1ac21
用镜像 pre-official-ui 启动多个容器实例

root@weifeng02 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> b0bd7b10a79d 4 weeks ago 276 MB
pre-official-ui latest 0069c632f5de 5 weeks ago 276 MB
[root@weifeng02 ~]# cat docker-compose.yml
nginx02:
image: pre-official-ui
ports:
- 80
restart: always

  

 启动命令

[root@weifeng02 ~]# docker-compose up -d   --scale nginx02=5
Starting root_nginx02_1 ... done
Starting root_nginx02_2 ... done
Starting root_nginx02_3 ... done
Starting root_nginx02_4 ... done
Starting root_nginx02_5 ... done
[root@weifeng02 ~]#
[root@weifeng02 ~]#
[root@weifeng02 ~]# docker-compose ps
Name Command State Ports
-----------------------------------------------------------------
root_nginx02_1 nginx Up 443/tcp, 0.0.0.0:32796->80/tcp
root_nginx02_2 nginx Up 443/tcp, 0.0.0.0:32797->80/tcp
root_nginx02_3 nginx Up 443/tcp, 0.0.0.0:32798->80/tcp
root_nginx02_4 nginx Up 443/tcp, 0.0.0.0:32795->80/tcp
root_nginx02_5 nginx Up 443/tcp, 0.0.0.0:32794->80/tcp [root@weifeng02 ~]# docker-compose stop nginx02
Stopping root_nginx02_1 ... done
Stopping root_nginx02_3 ... done
Stopping root_nginx02_5 ... done
Stopping root_nginx02_4 ... done
Stopping root_nginx02_2 ... done
[root@weifeng02 ~]# docker-compose ps
Name Command State Ports
-----------------------------------------
root_nginx02_1 nginx Exit 0
root_nginx02_2 nginx Exit 0
root_nginx02_3 nginx Exit 0
root_nginx02_4 nginx Exit 0
root_nginx02_5 nginx Exit 0
[root@weifeng02 ~]#
[root@weifeng02 ~]# docker-compose start nginx02
Starting nginx02 ... done

  

杀死一个docker 进程 可以自动重启 

[root@weifeng02 ~]# ps aux|grep docker
root 968 0.0 2.1 811344 40992 ? Ssl 02:43 0:07 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json --selinux-enabled --log-driver=journald --signature-verification=false --storage-driver overlay2
root 1024 0.0 0.8 525104 16096 ? Ssl 02:43 0:03 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc --runtime-args --systemd-cgroup=true
root 5100 0.0 0.0 0 0 ? Z 05:13 0:00 [docker-proxy-cu] <defunct>
root 5116 0.0 0.1 100796 2632 ? Sl 05:13 0:00 /usr/libexec/docker/docker-proxy-current -proto tcp -host-ip 0.0.0.0 -host-port 32805 -container-ip 172.17.0.3 -container-port 80
root 5136 0.0 0.2 100796 4676 ? Sl 05:13 0:00 /usr/libexec/docker/docker-proxy-current -proto tcp -host-ip 0.0.0.0 -host-port 32807 -container-ip 172.17.0.5 -container-port 80
root 5155 0.0 0.2 264812 5028 ? Sl 05:13 0:00 /usr/bin/docker-containerd-shim-current 95d8ffb08fbe6179e07bb0df1a74c825948a22b3bcd4ae7a65d63cfcf06ab933 /var/run/docker/libcontainerd/95d8ffb08fbe6179e07bb0df1a74c825948a22b3bcd4ae7a65d63cfcf06ab933 /usr/libexec/docker/docker-runc-current
root 5158 0.0 0.2 264812 5028 ? Sl 05:13 0:00 /usr/bin/docker-containerd-shim-current 4dbe39e8a8321b0433ca07353f0781675efb2517cee03c5f19ac1771b15e0d36 /var/run/docker/libcontainerd/4dbe39e8a8321b0433ca07353f0781675efb2517cee03c5f19ac1771b15e0d36 /usr/libexec/docker/docker-runc-current
root 5164 0.0 0.3 264812 7072 ? Sl 05:13 0:00 /usr/bin/docker-containerd-shim-current 96e77c7dfc87aa0da8ac02e81f8b697e92c0cbc9b9e727091cd554e2f406bd40 /var/run/docker/libcontainerd/96e77c7dfc87aa0da8ac02e81f8b697e92c0cbc9b9e727091cd554e2f406bd40 /usr/libexec/docker/docker-runc-current
root 5547 0.0 0.1 100796 2628 ? Sl 05:19 0:00 /usr/libexec/docker/docker-proxy-current -proto tcp -host-ip 0.0.0.0 -host-port 32809 -container-ip 172.17.0.4 -container-port 80
root 5551 0.0 0.1 264812 2936 ? Sl 05:19 0:00 /usr/bin/docker-containerd-shim-current 5324cbb9c45541506a12b5a63dad5340db2a71e49fc15345cedf7c196350ed4a /var/run/docker/libcontainerd/5324cbb9c45541506a12b5a63dad5340db2a71e49fc15345cedf7c196350ed4a /usr/libexec/docker/docker-runc-current
root 5631 0.0 0.0 112708 980 pts/1 R+ 05:21 0:00 grep --color=auto docker

  

[root@weifeng02 ~]# kill -9 5155
[root@weifeng02 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5324cbb9c455 pre-official-ui "nginx" 8 minutes ago Up 2 minutes 443/tcp, 0.0.0.0:32809->80/tcp root_nginx03_2
4dbe39e8a832 pre-official-ui "nginx" 8 minutes ago Up 8 minutes 443/tcp, 0.0.0.0:32807->80/tcp root_nginx03_3
96e77c7dfc87 pre-official-ui "nginx" 8 minutes ago Up 8 minutes 443/tcp, 0.0.0.0:32805->80/tcp root_nginx03_1
95d8ffb08fbe pre-official-ui "nginx" 8 minutes ago Up 1 second 443/tcp, 0.0.0.0:32810->80/tcp root_nginx03_5

  

docker-compose 管理多个docker容器实例的更多相关文章

  1. Docker学习笔记之使用 Docker Compose 管理容器

    0x00 概述 通过之前的介绍,我们已经基本掌握了构建.运行容器的方法,但这还远远不够,由于 Docker 采用轻量级容器的设计,每个容器一般只运行一个软件,而目前绝大多数应用系统都绝不是一个软件所能 ...

  2. DCOS实践分享(2):基于Docker Compose和Swarm的Docker化之路

    2016 年1 月 23 日,北京史上气温最低的一天. 在下午 1 点半的时候,由 DaoCloud 赞助的 2016 年度首次 Docker Meetup 准时开始. 在这次Meetup中,我分享了 ...

  3. Docker镜像管理基础与基于容器的镜像制作示例

    一.Docker镜像 Docker镜像是启动Docker容器的一个非常重要的组件.Docker各组件之间的关系如图: Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建 ...

  4. Docker防主机意外断电导致容器实例无法驱动解决方案:UPS || write barrier || 上btrfs定期snapshot

    Write barrier - Wikipediahttps://en.wikipedia.org/wiki/Write_barrier R大在在介绍CMS时提到了write barrier写屏蔽的概 ...

  5. [Docker6] Docker compose多容器运行与管理

    六.Docker compose docker compose就是通过yml文件来定义和运行多个容器docker应用程序的工具,三步过程就能跑起一个compose: 定义应用程序的环境(yml中) 定 ...

  6. Docker深入浅出系列 | Docker Compose多容器实战

    目录 前期准备 Docker Compose是什么 为什么要用Docker Compose Docker Compose使用场景 Docker Compose安装 Compose Yaml文件结构 C ...

  7. Docker Compose之容器编排开发初探

    1.前言 Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用. Compose 是一个用于定义和运行多个 Docker 应用 ...

  8. asp.net core容器&mysql容器network互联 & docker compose方式编排启动多个容器

    文章简介 asp.net core webapi容器与Mysql容器互联(network方式) docker compose方式编排启动多个容器 asp.net core webapi容器与Mysql ...

  9. Docker 容器编排利器 Docker Compose

    Compose 简介 通过前面几篇文章的学习,我们可以通过 Dockerfile 文件让用户很方便的定义一个单独的应用容器.然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况,例如 ...

  10. Docker Compose 容器编排 NET Core 6+MySQL 8+Nginx + Redis

    环境: CentOS 8.5.2111Docker 20.10.10Docker-Compose 2.1.0 服务: db  redis  web nginx NET Core 6+MySQL 8+N ...

随机推荐

  1. Openfire XMPP Smack RTC IM 即时通讯 聊天 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. mysql主从备份及原理分析

    一.mysql主从备份(复制)的基本原理mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更 ...

  3. hadoop集群默认配置和常用配置

    http://www.cnblogs.com/ggjucheng/archive/2012/04/17/2454590.html 获取默认配置 配置hadoop,主要是配置core-site.xml, ...

  4. css的overflow属性

    原文:https://www.jianshu.com/p/67b536fc67c1 ------------------------------------------- 事实上我挺长一段时间都没弄清 ...

  5. 转: MinGw离线安装方法集合

    转自: http://www.cnblogs.com/smartdog/archive/2012/03/30/2425124.html https://www.zhihu.com/question/2 ...

  6. 解决webstorm本地IP访问页面出错的问题,webstorm支持IP访问

    想在手机端访问webstorm做出的页面,遇到了根据IP地址访问页面错误的问题,试了网上的方法:“设置webstorm可以被外部连接访问”,依旧不能解决 解决方法: 在webstorm下:ctrl+a ...

  7. C#.NET常见问题(FAQ)-命名空间namespace如何理解

    Namespace就是定义一个对象是哪个门派的,比如你现在就在A门派下,A门派的所有功夫(属性和方法)都可以不加声明直接调用.如果你要用B门派的功夫,就要先声明是B门派的XXX对象的XXX实例的XXX ...

  8. 谷哥的小弟学前端(10)——JavaScript基础知识(1)

    探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 具体解释Android主流框架不可或缺的基石 站在源代码的肩膀上全解Scroller工作机制 Android多分辨率适 ...

  9. 搭建持续集成单元测试平台(Jenkins+Ant+Java+Junit+SVN)

    一.环境准备 Jenkins: 到官网下载jenkins.war包:http://jenkins-ci.org/ 安装方法有两种: 把下载下来的jenkins.war包放到文件夹下,如C:\jenki ...

  10. 微信小程序 - 沉浸式抽屉(非组件)

    高度有限制,可作为管理界面,点击下载示例:drawer