这是第二篇,使用compose部署应用,同样演示都在docker2istio目录。
Compose
Compose是一个用于定义和运行多容器Docker应用程序的工具,采用python编写。
部署应用
编写应用部署文件
compose部署应用,采用编写docker-compose.yml:
version: '3'
services:
  docker2istio-redis:
    image: redis:4-alpine3.8
    restart: always
  docker2istio-app:
    depends_on:
      - docker2istio-redis
    build: ./laravelapp
    image: laravelapp:0.0.2
    links:
      - docker2istio-redis
  docker2istio-nginx:
    image: nginx:1.15.8-alpine
    depends_on:
      - docker2istio-app
    volumes:
      - ./nginx:/etc/nginx/conf.d
    restart: always
    ports:
      - "80:80"
    environment:
      - NGINX_PORT=80
    links:
      - docker2istio-app
这里描述了下面几件事情:
- 依次启动
redis、flaskapp、nginx三个服务。服务顺序由depends_on决定。 - 使用
build命令,自动编译laravelapp:0.0.2。 - 使用
links命令,描述服务间依赖。 - 使用
ports导出端口,使用volumes挂载数据卷。 
这一过程,把第一篇中启动容器的过程,语义化,流程更清晰。
启动应用
启动应用,使用docker-compose up 命令:

启动日志中,展示了创建网络,编译镜像,启动容器这几个过程
访问应用
使用 docker-compose ps 检查服务状况:
              Name                             Command               State         Ports       
-----------------------------------------------------------------------------------------------
docker2istio_docker2istio-app_1     docker-php-entrypoint php  ...   Up      8080/tcp          
docker2istio_docker2istio-nginx_1   nginx -g daemon off;             Up      0.0.0.0:80->80/tcp
docker2istio_docker2istio-redis_1   docker-entrypoint.sh redis ...   Up      6379/tcp 
当然,compose也是使用docker,也可以 docker ps :
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                NAMES
6620a1272ed8        nginx:1.15.8-alpine   "nginx -g 'daemon of…"   8 minutes ago       Up 8 minutes        0.0.0.0:80->80/tcp   docker2istio_docker2istio-nginx_1
50fbc4575208        laravelapp:0.0.2      "docker-php-entrypoi…"   8 minutes ago       Up 8 minutes        8080/tcp             docker2istio_docker2istio-app_1
fbeecd51575d        redis:4-alpine3.8     "docker-entrypoint.s…"   8 minutes ago       Up 8 minutes        6379/tcp             docker2istio_docker2istio-redis_1
对比可见 docker-compose ps ,更偏应用层。
然后访问服务:
Hello World by 172.20.0.4 from 127.0.0.1 ! 该页面已被访问 2 次。
应用扩容
使用 docker-compose up --scale docker2istio-app=2 对 docker2istio-app进行扩容。
—End—
迭代
- 2020年11月12日 16:30 初稿