docker自学入门(第五天)Compose部署多个tomcat

1、下载二进制包

sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件

# sudo chmod +x /usr/local/bin/docker-compose

创建软链接

# sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

2、创建测试目录

# mkdir -p /www/docker-compose-test

  2.1 在docker-compose-test目录中创建一个名为 app.py 的文件,并复制粘贴以下内容:

# vim  /www/docker-compose-test/app.py

import time

import redis
from flask import Flask

app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)


def get_hit_count():
    retries = 5
    while True:
        try:
            return cache.incr('hits')
        except redis.exceptions.ConnectionError as exc:
            if retries == 0:
                raise exc
            retries -= 1
            time.sleep(0.5)
@app.route('/')
def hello():
    count = get_hit_count()
    return 'Hello World! I have been seen {} times.\n'.format(count)

在此示例中,redis 是应用程序网络上的 redis 容器的主机名,该主机使用的端口为 6379

  2.2 在 docker-compose-test 目录中创建另一个名为 requirements.txt 的文件,内容如下:

# vim /www/docker-compose-test/requirements.txt

flask
redis

  2.3 在 docker-compose-test 目录中,创建一个名为 Dockerfile 的文件,内容如下:

# vim /www/docker-compose-test/Dockerfile

FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["flask", "run"]

  2.4 在docker-compose-test 目录中创建一个名为 docker-compose.yml 的文件,然后粘贴以下内容:

# vim /www/docker-compose-test/docker-compose.yml

version: '3.5'
services:
  tomcat_84:
    restart: always
    image:  "tomcat:8-jdk8-openjdk"
    container_name: "my_tomcat_84"
    ports:
      -  "8084:8080"
    volumes:
      -  /etc/localtime:/etc/localtime:ro
      -  /www/docker-tomcat/webapps:/usr/local/tomcat/webapps
    environment:
      TZ: "Asia/Shanghai"

  tomcat_85:
    restart: always
    image: "tomcat:8-jdk8-openjdk"
    container_name: "my_tomcat_85"
    ports:
      -  "8085:8080"
    volumes:
      -  /etc/localtime:/etc/localtime:ro
      -  /www/docker-tomcat/webapps:/usr/local/tomcat/webapps
    environment:
      TZ: "Asia/Shanghai"

3、使用 Compose命令构建和运行应用

# docker-compose up

  如果想在后台执行改服务可以加上 -d 参数

# docker-compose up -d
 

4、查看运行的容器

# docker ps

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值