这一节我们会用之前所学的docker-compose部署一个稍显复杂的应用,也算是对之前的一个总结吧!!!!
下面这个是我们一个源码的结构
stevendeAir:example-voting-app steven$ ls
README.md docker-compose.yml voting-app
architecture.png result-app worker
我们首先看一下docker-compose.yml文件
# yml文件由3部分构成
version: "3"
services:
voting-app:
# 从本地去找镜像去build
build: ./voting-app/.
volumes:
# 数据存到当前目录voting-app下面
- ./voting-app:/app
ports:
- "5000:80"
links:
- redis
networks:
- front-tier
- back-tier
result-app:
build: ./result-app/.
volumes:
- ./result-app:/app
ports:
- "5001:80"
links:
- db
networks:
- front-tier
- back-tier
worker:
build: ./worker
links:
- db
- redis
networks:
- back-tier
redis:
image: redis
ports: ["6379"]
networks:
- back-tier
db:
image: postgres:9.4
volumes:
- "./db-data:/var/lib/postgresql/data"
networks:
- back-tier
volumes:
db-data:
# 没有指明drive就是默认的bridge
networks:
front-tier:
back-tier:
如果你之前看完了我的前几节,相信看到这里应该这个yml文件也可以看的懂了吧!!!如果有不明白的地方也没有关系,可以返回去再看一下,或者直接给我留言
# 我们开始执行这个文件开始一键部署
stevendeAir:example-voting-app steven$ docker-compose -f docker-compose.yml up
Creating network "examplevotingapp_back-tier" with the default driver
Creating network "examplevotingapp_front-tier" with the default driver
成功以后执行127.0.0.1:5000 就可以了
ok,关于compose最后在给大家介绍一个命令docker-compose build,我们可以在执行up之前先进行build,这样的话会快很多。
话说到这里,我们的docker-compose 就结束了但是我们的Docker系列课程还没有结束,后面还有更精彩的容器编排等着大家,继续前进吧!!!!!