Docker Compose
版权所有,未经许可,禁止转载
章节
实际项目中,通常会有很多容器同时运行,逐个启动这些容器会很繁琐。Docker Compose通过docker-compose.yml
配置文件,可以非常轻松地,用一个命令启动这些容器。例如,假设你有一个需要NGNIX和PHP的应用程序,就可以使用docker-compose一次启动这2个容器。
安装dockers-compose
安装 dockers-compose的步骤如下
1. 下载 dockers-compose
在Linux CentOS系统下,下载docker-compose。其他系统安装可参考官网
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
上面的命令将下载docker-compose的最新版(当前是1.24.0),最新版可查看官网
2. 改变文件属性为可执行
sudo chmod +x /usr/local/bin/docker-compose
3. 确认安装是否成功
查看docker-compose版本号
sudo docker-compose --version
docker-compose version 1.24.0, build 0aa59064
顺利打出版本号,安装成功。
例子:docker-compose启动nginx与php
我们将使用docker-compose一次启动nginx与php两个容器。
1. 配置 dockers-compose.yml文件
创建docker-compose.yml配置文件:
version: '3'
services:
# nginx 服务
nginx:
# 推荐使用官方镜像
image: nginx:latest
# 映射端口,把容器端口映射到宿主机对外接口,格式:对外端口:容器端口
ports:
- "80:80"
- "443:443"
# 所依赖的服务,php会先启动
depends_on:
- php
# php 服务
php:
# 官方镜像
image: php:7-fpm
docker-compose.yml是一个YAML文件,语法很简单。
我们把上面的文件分解一下。在父级,我们定义服务的名称:nginx
和php
,nginx
服务使用镜像nginx:latest
,php
服务使用镜像php:7-fpm
。ports
参数可以定义服务的端口映射。详细信息,请看注释。
2. docker-compose启动多个容器
先确保docker服务已经运行:
$ sudo service docker start
运行docker-compose,切换到docker-compose.yml所在的目录执行
$ sudo docker-compose up -d
会自动下载nginx与php镜像,然后运行这两个容器。
3. 确认容器运行
通过docker ps
查看nginx与php容器是否运行:
[[email protected] deploly]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
042328b082a4 nginx:latest "nginx -g 'daemon of…" 33 seconds ago Up 31 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp deploly_nginx_1
9d0b67f869ee php:7-fpm "docker-php-entrypoi…" 34 seconds ago Up 33 seconds 9000/tcp deploly_php_1
可以看到容器确实已经运行了。
上一篇: php中计算时间差的方法_PHP教程
下一篇: docker compose
推荐阅读
-
Visual studio 2017如何发布dotnet core到docker
-
8天入门docker系列 —— 第七天 让你的container实现跨主机访问
-
通过提前bake Docker镜像加快基础设施的启动速度
-
Docker入门实践笔记(一)--安装Docker CE
-
Docker 学习笔记 (一)Dockerfile 创建本地镜像
-
NetCore的Docker部署
-
一行命令安装docker和docker-compose(CentOS7)
-
Linux下自动化部署ASP.NET CORE 3.1(Docker+Jenkins+Nginx)
-
Docker从入门到掉坑(五):继续挖一挖 k8s
-
[笔记]使用Docker部署.NET Core应用程序