如何利用docker-compose,管理复杂多容器的应用?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
苏南大叔,继续描述docker-compose
的相关信息。这款docker-compose
的常见使用方式,其实就一种:docker-compose up -d
。当然,并不是说,docker-compose
只有up -d
这一种命令行使用方式。只不过,up -d
这条命令最常见罢了。其它的docker-compose
命令,基本上可能也用不到。
在实际开发中,往往需要多种业务逻辑流程。比如在WEB中和数据库的交互,这样的应用就是典型的由多个容器组成,不需要用shell去启动这些容器,所有的容器将会以一种“服务组”的方式定义在一个配置文件中。这个组件服务入口是docker-compse
配置文件docker-compose.yml
。
docker-compose
是用于定义和运行复杂Docker应用的工具。你可以在一个docker-compose.yml
文件中,定义一个多容器的应用,然后使用一条docker-compose up -d
命令来启动你的应用,所有相关的操作都会被自动完成。
简单的例子docker-compose.yml
下面是个docker-compose.yml
的范例:(注意在每个属性配置时冒号后面必须加空格符)
version: "3"
services:
App1:
image: registry.cn-hangzhou.aliyuncs.com/test/node8js:v8.11.3-3
ports:
- "8361:8361"
volumes:
- /website/:/website/
Rsync:
image: registry.cn-hangzhou.aliyuncs.com/test/rsync
ports:
- "873:873"
volumes:
- /website/:/website/
官方的version3文件说明,请点击下面的链接查看:
苏南大叔的简要说明:
docker-compose.yml
这个前后有好多个版本,目前最新的版本就是version:"3"
了。所以,最开始的一句话就是version
,用的是yml
的格式。- 这个
yml
文件定义了三个服务。分别是:App1
、Rsync
、kafka
三个服务。 build
的意思,是从某个目录下构建镜像。image
是使用什么镜像,如果本地没有该镜像,会自动从服务器地址上下载该镜像。ports
是指端口映射,和docker run
里面的-p
一样的效果。volumes
这个是目录映射,和docker run
里面的-v
一样的效果。environment
这个是指环境变量,和docker run
里面的-e
一样的效果。
常用docker-compose
命令
定义好合适的docker-compose.yml
文件之后,启动的语句就一句话,如下图所示。
docker-compose up -d
非常的简单易懂。所以在本文中,主要的篇幅用于描述docker-compose.yml
这个文件的组成。
其它docker-compose
命令
docker-compose
脚本可以用来启动、停止、重启应用和所有的应用中的服务,docker-compose
的完整的命令如下:
指令 | 内容 |
---|---|
build | Build or rebuild services |
help | Get help on a command |
kill | Kill containers |
logs | View output from containers |
port | Print the public port for a port binding |
ps | List containers |
pull | Pulls service images |
restart | Restart services |
rm | Remove stopped containers |
run | Run a one-off command |
scale | Set number of containers for a service |
start | Start services |
stop | Stop services |
up | Create and start containers |
可以查看服务的日志:
docker-compose logs
关闭一组docker
:
docker-compose down
结论
本文只涉及了最基础的docker-compose
使用系你想,更多的docker-compose
使用技巧,可以参见下面的链接:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。