用docker compose部署服务,示例

Docker Compose 部署服务

Compose 是一个用户定义和运行多个容器的Docker应用程序。在Compose中你可以使用yaml 文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。

Compose 可以方便我们快捷且高效地管理容器的启动、停止、重启等操作。它类似于linux下的shell脚本,基于yaml语法,在该文件里我们可以描述应用的架构,比如用什么镜像、数据卷、网络模式、监听端口等信息。我们可以在一个compose文件中定义一个多容器的应用(如jumpserver),然后通过该compose来启动这个应用。

安装compose:

下载地址:https://github.com/docker/compose/releases

可以wget下来,但是速度非常慢,建议先用Windows下载后,传到centos上

[root@jinkai02 src]# wget https://github.com/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64

[root@jinkai02 src]# du -sh docker-compose-Linux-x86_64

12M docker-compose-Linux-x86_64

[root@jinkai02 src]# mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

[root@jinkai02 src]# chmod 755 !$

chmod 755 /usr/local/bin/docker-compose

[root@jinkai02 src]# docker-compose version

docker-compose version 1.27.4, build 40524192

docker-py version: 4.3.1

CPython version: 3.7.7

OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

Compose区分Version 1和Version 2(Compose 1.6.0+,Docker Engine 1.10.0+)。Version 2支持更多的指令。Version 1没有声明版本默认是"version 1"。Version 1将来会被弃用。

示例:

vim docker-compose.yml #写入下面内容,注意空格

version: "2" #使用 version 2 版本

services:

app1: #表示容器名字

image: centos_nginx #表示镜像名

ports:

- "8080:80" #指定映射端口

networks:

- "net1" #指定网络模式

volumes:

- /data/:/data #目录挂载,等同于前面讲过的-v选项

app2:

image: centos_with_net

networks:

- "net2"

volumes:

- /data/:/data1

entrypoint: tail -f /etc/passwd #防止容器运行完dockerfile停止

networks:

net1:

driver: bridge

net2:

driver: bridge

运行docker-compose:

[root@jinkai02 src]# docker-compose up -d //-d后台启动

Creating src_app1_1 ... done

Creating src_app2_1 ... done

[root@jinkai02 src]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

97c7e2132393 centos_with_net "tail -f /etc/passwd" 29 seconds ago Up 28 seconds src_app2_1

7e7a1f70bf27 centos_nginx "/bin/sh -c '/usr/lo…" 29 seconds ago Up 28 seconds 0.0.0.0:8080->80/tcp src_app1_1

[root@jinkai02 src]# docker-compose ps

Name Command State Ports

--------------------------------------------------------------------------

src_app1_1 /bin/sh -c /usr/local/ngin ... Up 0.0.0.0:8080->80/tcp

src_app2_1 tail -f /etc/passwd Up

通过使用compose,我们可以很方便地管理容器的启动、停止、重启等操作。

docker-compose --help

docker-compose ps/down/up/stop/start/rm

关于docker-compose语法的参考文档 http://www.web3.xin/index/article/182.html

猜你喜欢

转载自blog.51cto.com/11451960/2640822