在docker上部署web应用的方式
1 第一种方式: 利用docker镜像创建一个容器,进入该容器后,执行启动web应用的脚本,然后服务启起来便可以提供给外部调用。
2第二种简单的方式:利用docker镜像创建一个容器, 在创建容器的同时设置主机接口以及容器接口的映射和启动web应用的脚本,然后服务启起来便可以提供给外部调用。
这两种方式有什么区别呢。
相比于第一种方式,第二种方式稍微简单一写, 下面三个操作一气呵成:
- 创建容器
- 设置主机接口以及容器接口的映射
- 启动web应用的脚本
下面针对第二种方式进行演示一下:
首先简单介绍一下几个文件
request_demo.py, 内容如下
import requests
if __name__ == '__main__':
url = "http://localhost:8087/demo"
result = requests.get(url)
print(result.text)
demo_service.py 内容如下
from flask import Flask
# Flask配置
app = Flask(__name__)
@app.route("/demo", methods=["GET", "POST"])
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(host="0.0.0.0", port="8005")
/code/service_start.sh
/root/anaconda3/bin/python /code/demo_service.py
启动web应用脚本命令如下
docker run -it --name request_demo -p 8087:8005 request_image /bin/bash /code/service_start.sh
命令简单描述一下:
request_demo --> 为创建容器的名称
8087:8005 --> 8087为暴露的访问接口,8005为容器内部接口
/bin/bash /code/service_start.sh --> 执行脚本
刚好对应我们之前说的一气呵成的三个操作,接下来测试一下是否可以访问
xiaolin-peterdeMacBook-Pro:~ xiaolin_peter$ curl http://localhost:8087/demo
请求响应返回:
Hello World!
结果如下图:
大家好,我是寻梦,在追梦路上保持初心,一直向前。
如果这篇文章还可以的话,收藏的同时麻烦点赞或者关注一下,共同学习!