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. Asp.net web Control Enable 属性设置

    最近手上有一个很简单的一个小项目,需要查看编辑的历史记录,先前设计的时候把数据都save 到DB了,现在时间紧迫 就不在画新的UI,而是采用以前的edit页面 来显示数据,这里就需要把页面上所有的co ...

  2. Word Ladder II leetcode java

    题目: Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) ...

  3. eclipse help说明链接

    http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.cdt.doc.user%2Freference%2Fcdt_u_prop_bu ...

  4. linux命令大全网站

    一. linux命令大全网站 http://man.linuxde.net/watch

  5. XE6入门(二)项目中的文件

    XE6中项目文件为DPR,查看方法请参考一下以前写过的博文: "Delphi项目构成之项目文件DPR" 项目文件DPR 通过主菜单[Project | View Source],就 ...

  6. 撼动 IT 界的十大编程语言【转载+整理】

    提这些的目的是要保持关注最新的技术.如果你是一个程序员,想要探究未来技术,那这篇文章是你的必读之选.这里列出了10种编程语言,它们可能会改变IT界的工作方式. 下面这些语言都有其实际的需求,举例来说, ...

  7. OS 获取用户相册。保存图片。编辑图片为圆形

    // // ViewController.m // YunPhoto // // Created by qingyun on 3/4/14. // Copyright (c) 2014 qingyun ...

  8. Xcode missing file or .png is missing from working copy

    当不小心在工程文件中删掉文件时.有可能会提示 .xxx   is missing from working copy 有可能是SVN引起的.删掉这个文件就好了 如果是单个文件.进入Terminal 相 ...

  9. asp.net序列化

    JsonHelp.cs using System.IO; using System.Text; using System.Runtime.Serialization.Json; namespace W ...

  10. 查看一个目录是否已经mount --bind

    执行 mountpoint -q /test/mount echo $? 如果是0表示已经mount mountpoint -q /test/mount || mount -o bind /some/ ...