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 ...
随机推荐
- Everything 使用技巧 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- CentOS 7安装Hadoop 3.0.0
最近在学习大数据,需要安装Hadoop,自己弄了好久,最后终于弄好了.网上也有很多文章关于安装Hadoop的,但总会遇到一些问题,所以把在CentOS 7安装Hadoop 3.0.0的整个过程记录下来 ...
- PHP 7中利用OpenSSL代替Mcrypt加解密的方法详解
php7.1发布后新特性吸引了不少PHPer,大家都在讨论新特性带来的好处与便利.但是从php7.0 升级到 php7.1 废弃(过时)了一个在过去普遍应用的扩展(mcrypt扩展).官方提供了相应的 ...
- JAVA-找不到元素 'beans' 的声明
问题: Tomcat启动时,spring加载配置文件applicationContext.xml出错,抛出nested exception is og.xml.sax.SAXParseExceptio ...
- (转)unityshaderLab中fixed function常用指令
ShaderLab中常用的fixedFunction. SubShader{ Tags{"Queue"="Transparent"} //渲染完不透明物体,再渲 ...
- Web.config的Release版本和Debug版本不一样的奥秘
VS编译完后,release版本的web.config(或者app.config) 为什么不一样那? 我们查看一下项目结构,会发现有两个版本的config文件存在: 打开web.Debug.con ...
- [Docker] Linking Node.js and MongoDB Containers
To do communcation between containers, we need to do link between containers. 1. Run a container wit ...
- C++ 函数适配器
1.考虑下面的需求,在一个int的vector中,找出一个比5的元素,容易想到的解决办法,定义一个方法对象,使用模板,如下:vector<int>::iterator iter = fin ...
- GB2312码表
GB2312码表 code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F A1A0 . . · ˉ ˇ ¨ " 々 — - | … ‘ ’ ...
- Discuz常见小问题-如何人为地添加用户并分配小组
进入后台,在用户-添加用户中可以人为添加用户并分配权限