容器编排及环境部署
Dockerfile和docker-compose.yml的区别
Dockerfile
Dockerfile是一个按一定规则编写的包含多行命令的文件,使用Dockerfile可以快速的构建一个定制的镜像。
docker-compose.yml
使用docker-compose.yaml文件,按照特定的语法语句编写指令,管理多个镜像的部署和端口等操作,实现真证的快速部署。在不同服务器上部署时,只需要一个docker-compose.yaml文件,便能完成应用的部署操作。总之,Docker Compose是用来管理多个容器的。
安装docker-compose
1 |
|
Compose模板文件
Docker-Compose标准模板文件应该包含version、services、networks 三大部分,最关键的是services和networks两个部分。
1 |
|
下面解释几个常用的命令
version
Compose目前有三个版本分别为Version 1,Version 2,Version 3,Compose区分Version 1和Version 2(Compose 1.6.0+,Docker Engine 1.10.0+)。Version 2支持更多的指令。Version 1将来会被弃用。
image
image是指定服务的镜像名称或镜像ID。如果镜像在本地不存在,Compose将会尝试拉取镜像。
build
服务除了可以基于指定的镜像,还可以基于一份Dockerfile,在使用up启动时执行构建任务,构建标签是build,可以指定Dockerfile所在文件夹的路径。
比如当前目录下有Dockerfile,docker-compose.yml 文件
就会在当前目录下寻找Dockerfile文件进行自动构建镜像,然后使用镜像启动服务容器。
ports
ports用于映射端口的标签。
volumes
数据卷,在它下面可以定义的数据卷(名字等等),然后挂载到不同的服务下去使用
networks
应用的网络,在它下面可以定义应用的名字、使用的网络类型等等
Compose常用命令
docker-compose up
:启动服务,如果在后台启动需要参数-ddocker-compose stop [name]
:停止服务docker-compose start [name]
:启动服务docker-compose rm [name]
:删除服务,需要停止服务,否则使用-f参数,与docker rm命令类似docker-compose down
:停止并删除容器,网络,镜像和数据卷docker-compose logs -f [name]
:查看具体服务的日志