Docker+Flask集群部署 - Go语言中文社区

Docker+Flask集群部署


1、测试服务器准备,这里准备三台服务器(Centos7),分别部署docker,部署过程如下:

1)设置Docker仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2)安装docker

yum install docker-ce docker-ce-cli containerd.io

默认安装最新版本的docker

3)启动docker服务

systemctl start docker

安装过程很简单。

4)docker镜像加速

Vi /etc/docker/daemon.json,插入:

{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}

加载配置并重启docker服务:systemctl daemon-reloadsystemctl restart docker

 

2、创建私有仓库(可省略)

docker pull registry:2

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2

查看仓库

curl http://127.0.0.1:5000/v2/_catalog

 

3、创建docker swarm集群

1)初始化集群管理节点

docker swarm init --advertise-addr 192.168.1.107

 

2)加入swarm节点

docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.99.107:2377

3)查看集群信息

Docker info

 

4、部署flask服务

1)flask应用目录结构如下:

 

2)代码说明

Main.py

from flask import Flask



app = Flask(__name__) #记住这里的变量名app



@app.route('/hello')

def hello():

    return 'hello docker&flask'



if __name__ == '__main__':

    app.run(host='0.0.0.0',port=5001,debug=True)
config_gunicorn.py
# 并行工作进程数

workers = 4

# 指定每个工作者的线程数

threads = 2

# 监听内网端口5000

bind = '0.0.0.0:5000'

# 设置守护进程,将进程交给supervisor管理

daemon = 'false'

# 工作模式协程

worker_class = 'gevent'

# 设置最大并发量

worker_connections = 2000

# 设置进程文件目录

# pidfile = '/var/run/gunicorn.pid'

# 设置访问日志和错误信息日志路径

# accesslog = '/var/log/gunicorn_acess.log'

# errorlog = '/var/log/gunicorn_error.log'

# 设置日志记录水平

loglevel = 'warning'
Dockerfile
FROM python:3.7

WORKDIR /app

COPY /app /app

COPY requirements.txt ./

RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple



CMD ["gunicorn", "main:app", "-c", "/app/config_gunicorn.py"]
根目录下执行命令创建镜像:
docker build -t 'flask-docker' .
创建容器
docker run -d -p 5000:5000 flask-docker
创建服务

docker service create --name flask-docker-service -p 8080:8080 --replicas 3 flask-docker

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/luoye4321/article/details/114814161
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-14 13:01:49
  • 阅读 ( 1035 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢