一、Compose简介
Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。
Docker-Compose是一个容器编排工具。通过一个.yml或.yaml文件,将所有的容器的部署方法、文件映射、容器端口映射等情况写在一个配置文件里,执行docker-compose up命令就像执行脚本一样,一个一个的安装并部署容器。
Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器,例如一个 Web 服务容器再加上后端的数据库服务容器等。
二、Compose的安装及使用
若想使用compose这个容器编排工具,那么,必须是基于docker这个服务,安装docker,然后下载docker-compose这个命令,我们可以去github官方网站搜索“docker/compose”
1、在docker主机上执行github上得到的命令
[root@docker01 ~]# curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
[root@docker01 ~]# chmod +x /usr/local/bin/docker-compose
2、查看docker的版本:
[root@docker01 ~]#docker-v
Dockerversion18.09.0,build4d60db4
通过上述查看操作,可以知道,当前我的docker版本是18.09,那么基本可以使用所有的compose版本,因为其可以向下兼容,只要高于compose版本所支持的docker版本即可
三、编写.yml文件
1、构建简单的Nginx服务.yml文件
[root@docker01 ~]# mkdir compose[root@docker01 ~]# cd compose/
[root@docker01 compose]# vim docker-compose.yml
[root@docker01 compose]# docker-compose up -d#执行上述命令后,会自动在当前目录下生成一个webserver的目录,对应的就是容器中的html目录
[root@docker01 compose]# echo "hello world" > webserver/index.html
[root@docker01 compose]# curl 127.0.0.1 # 访问本机测试
hello world
我们基于自己写dockerfile文件构建镜像并运行容器后,都需要进入容器手动启动一下其运行的服务,而通过上面的的例子,可以看到,容器运行后,其服务也是出于运行状态的,这是怎么做到的呢?我们可以通过执行“docker ps”命令进行查看容器的运行信息