Docker学习之:部署一个复杂的应用

这一节我们会用之前所学的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 就可以了


docker.png

ok,关于compose最后在给大家介绍一个命令docker-compose build,我们可以在执行up之前先进行build,这样的话会快很多。
话说到这里,我们的docker-compose 就结束了但是我们的Docker系列课程还没有结束,后面还有更精彩的容器编排等着大家,继续前进吧!!!!!

你可能感兴趣的:(Docker学习之:部署一个复杂的应用)