docker-compose 管理多个docker容器实例
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容器实例的更多相关文章
- Docker学习笔记之使用 Docker Compose 管理容器
0x00 概述 通过之前的介绍,我们已经基本掌握了构建.运行容器的方法,但这还远远不够,由于 Docker 采用轻量级容器的设计,每个容器一般只运行一个软件,而目前绝大多数应用系统都绝不是一个软件所能 ...
- DCOS实践分享(2):基于Docker Compose和Swarm的Docker化之路
2016 年1 月 23 日,北京史上气温最低的一天. 在下午 1 点半的时候,由 DaoCloud 赞助的 2016 年度首次 Docker Meetup 准时开始. 在这次Meetup中,我分享了 ...
- Docker镜像管理基础与基于容器的镜像制作示例
一.Docker镜像 Docker镜像是启动Docker容器的一个非常重要的组件.Docker各组件之间的关系如图: Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建 ...
- Docker防主机意外断电导致容器实例无法驱动解决方案:UPS || write barrier || 上btrfs定期snapshot
Write barrier - Wikipediahttps://en.wikipedia.org/wiki/Write_barrier R大在在介绍CMS时提到了write barrier写屏蔽的概 ...
- [Docker6] Docker compose多容器运行与管理
六.Docker compose docker compose就是通过yml文件来定义和运行多个容器docker应用程序的工具,三步过程就能跑起一个compose: 定义应用程序的环境(yml中) 定 ...
- Docker深入浅出系列 | Docker Compose多容器实战
目录 前期准备 Docker Compose是什么 为什么要用Docker Compose Docker Compose使用场景 Docker Compose安装 Compose Yaml文件结构 C ...
- Docker Compose之容器编排开发初探
1.前言 Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用. Compose 是一个用于定义和运行多个 Docker 应用 ...
- asp.net core容器&mysql容器network互联 & docker compose方式编排启动多个容器
文章简介 asp.net core webapi容器与Mysql容器互联(network方式) docker compose方式编排启动多个容器 asp.net core webapi容器与Mysql ...
- Docker 容器编排利器 Docker Compose
Compose 简介 通过前面几篇文章的学习,我们可以通过 Dockerfile 文件让用户很方便的定义一个单独的应用容器.然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况,例如 ...
- 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 ...
随机推荐
- 极光推送 JPush 简介 集成 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 用eclipse 玩转cocos 2dx开发
开始研究cocos2dx,mark一下这个的配置步骤 1 下载eclipse 2 下载android sdk,配置sdk路径,添加环境变量 3 安装adt 4 下载android ndk,配 ...
- Android -- Annotation
Override Annotation @Override public void onCreate(Bundle savedInstanceState){}; 概念 An annotation is ...
- 基于IE的多标签的浏览器-世界之窗2.4
经常在Win32服务器上打开网页,但可能只是打开一个网页或是下载一点东西而已,虽然默认的IE浏览器基本上能满足需求 但还是存在不少的不便,比如如果要打开多个网页的话则需要再打开一个IE,还有就是习惯了 ...
- [Algorithm] Find merge point of two linked list
Assume we have two linked list, we want to find a point in each list, from which all the the nodes s ...
- 如何让windows更高效?
首先解释一下个标题: "让windows更高效,既指让windows更友好更优化,也指可以让使用windows来工作或学习的人更高效的工作学习." 解释下本文的动机: 指导我自己或 ...
- jquery效果 窗口弹出案例
效果 ①基本效果:show().hide().toggle() ②滑动 slideDown().slideUp().slideToggle() 划上:$("p").slideUp( ...
- springboot项目中报错:listener does not currently know of SID given in connect descriptor
springboot项目中报错:listener does not currently know of SID given in connect descriptor 出现这个问题的原因是SID写错了 ...
- 【转】java并发编程系列之ReadWriteLock读写锁的使用
前面我们讲解了Lock的使用,下面我们来讲解一下ReadWriteLock锁的使用,顾明思义,读写锁在读的时候,上读锁,在写的时候,上写锁,这样就很巧妙的解决synchronized的一个性能问题:读 ...
- Google Chrome Resize Plugin
https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh