使用 Docker Compose 管理多个容器
使用 Docker Compose 管理多个容器
** 学习Docker的过程中,会发现,当容器之间存在依赖关系的时候,会出现启动先后顺序的问题,还有多个容器同时启动,需要打多条命了,显得非常繁琐。使用Docker Compose , 可以做到一键启动多个容器。**
-
** Docker Compose 是一个用来定义和运行的复杂应用的Docker工具,使用Compose,你可以在一个文件中,定义多容器应用,然后使用一条命令来启动你的应用,完成一切准备工作。
-
github.com/docker/compose
**
-
** 一个使用Docker容器的应用,通常由多个容器组成,使用Docker Compose , 不在需要使用 shell脚本来启动容器,在配置文件中,所有的容器通过 service 来定义,然后使用 docker-compose 脚本来启动、停止和重启应用,和应用中的服务以及所有依赖服务的容器.**
完整的命了列表如下:
命令 | 说明 |
---|---|
build | 构建活重建服务 |
help | 命令帮助 |
kill | 杀掉容器 |
logs | 显示容器的输出内容 |
port | 打印绑定的开放端口 |
ps | 显示容器 |
pull | 拉去服务镜像 |
restart | 重启服务 |
rm | 删除停止的容器 |
run | 运行一个一次性命令 |
scale | 设置服务器的容器数目 |
start | 开启服务 |
stop | 停止服务 |
up | 创建并启动容器 |
参考 https://docs.docker.com/compose/install/
。你能运行Compose在OSX和64位Linux上。当前不支持Windows操作系统。
** 安装Docker Compose **
curl -L https://github.com/docker/compose/releases/download/1.4.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod 777 /usr/local/bin/docker-compose
** 配置文件 **
1、Compose的配置文件是 docker-compose.yml
。让我们看看下面这个文件:
mysqldb: image:[classroom.example.com:5000/]mysql environment: MYSQL_DATABASE:sample MYSQL_USER:mysql MYSQL_ROOT_PASSWORD:supersecret mywildfly: image:[classroom.example.com:5000|arungupta]/wildfly-mysql-javaee7 links: - mysqldb:db ports: - 8080
** 说明: **
a、定义了两个服务,分别叫 mysqldb
和 mywildfy
b、使用 image
定义了每个服务器的镜像名
c、MySQL容器的环境变量定义在 environment
d、MySQL容器使用links
和WildFly容器链接
e、使用ports
使用端口转发
** 启动服务 **
1、如果你从互联网运行,将docker-compose-internet.yml
保存为docker-compose.yml
。
2、如果你使用教师给的镜像,将docker-compose-instructor.yml
保存为 docker-compose.yml
。
3、使用下面的命令,所有的服务将使用后台模式被动启动
docker-compose up -d
** 显示的输出如下: **Creating attendees_mysqldb_1... Creating attendees_mywildfly_1...
使用-f
指定代替的compose文件。
使用-p
指定代替compose文件所在的目录。
** 验证服务是否启动 **docker-compose ps
输出结果
这里提供了一个整合的列表显示所有启动的服务和容器。
同时,通常使用docker ps
命令验证应用的容器,和在Docker主机运行的其他容器。
- 查询服务器日志。
- 验证应用
- 扩展服务
你可以像这样扩展服务:
docker-compose scale mywildfly=4 Creating and starting 2... done Creating and starting 3... done Creating and starting 4... done
检查日志:
docker-compose logs
检查运行的实例:
docker-compose ps
Name Command Start Ports
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CentOS kubernetes单机部署
CentOS kubernetes单机部署 1、关闭防火墙 systemctl disable firewalld systemctl stop firewalld 2、安装etcd和kubernetes软件(会自动安装docker) yum install -y etcd kubernetes ** 需要修改两处配置:** Docker 配置文件/etc/sysconfig/docker , OPTIONS='--seliunx-enabled=false --insecure-registry gcr.io' kubernetes apiservce 配置文件/etc/kubernetes/apiserver,把--admission_control参数中的ServiceAccount删除。 3、按下面的顺序启动所有服务: systemctl start etcd systemctl start docker systemctl start kube-apiserver systemctl start kube-controller-manager systemctl start ...
- 下一篇
docker 安装
docker 安装 CentOS 要求:CentOS 系统的内核版本高于 3.10安装: yum -y install docker Ubuntu 下载安装: wget -qO- https://get.docker.com/ | sh windows win7、8 win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ win10 www.docker.com 官网下载,注意要开启 Hyper-V ,不然无法安装 mac https://download.docker.com/mac/stable/Docker.dmg https://download.docker.com/mac/edge/Docker.dmg 安装完成后验证: 启动docker service docker start 测试 docker info
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果