作者:yukoyu 2022-05-26 15:02:35
云计算
云原生 Docker客户端与 Docker守护进程对话,后者负责构建、运行和分发 Docker 容器的繁重工作。Docker 客户端和守护程序可以在同一系统上运行,或者您可以将 Docker 客户端连接到远程 Docker 守护程序。
创新互联是一家专业提供银川企业网站建设,专注与做网站、网站设计、成都h5网站建设、小程序制作等业务。10年已为银川众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker客户端与 Docker守护进程对话,后者负责构建、运行和分发 Docker 容器的繁重工作。Docker 客户端和守护程序可以在同一系统上运行,或者您可以将 Docker 客户端连接到远程 Docker 守护程序。Docker 客户端和守护程序使用 REST API,通过 UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 Docker Compose,它允许您使用由一组容器组成的应用程序。
FROM:构建镜像基于哪个镜像
MAINTAINER:镜像维护者姓名或邮箱地址
RUN:构建镜像时运行的指令
CMD:运行容器时执行的shell环境
VOLUME:指定容器挂载点到宿主机自动生成的目录或其他容器
USER:为RUN、CMD、 ENTRYPOINT 执行命令指定运行用户
WORKDIR:为 RUN、CMD、ENTRYPOINT、COPY 、 ADD 设置工作目录
EXPOSE:声明容器的服务端口,仅是声明
ENV:设置容器环境变量
ADD:拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压
COPY:拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能
ENTRYPOINT:运行容器时执行的shell命令
①、 app.py文件。
#!/usr/bin/env python
import flask
# Create the application.
APP = flask.Flask(__name__)
@APP.route('/')
def index():
return "hello 51CTO"
if __name__ == '__main__':
APP.run()
②、 requirements.txt 文件。
导出本项目Python依赖包。
pip freeze > requirements.txt
①、准备好要上传的文件。
②、使用MobaXterm连接到服务器。
③、拖拽文件上传到服务器。
①、Docker拉取 python镜像。
docker pull python
②、编写 Dockerfile文件。
FROM python # 基础镜像,python
MAINTAINER yukoyu # 镜像作者信息
WORKDIR /app
# 工作目录,这个目录对应于镜像内的工作目录,后面的所有涉及到路径的操作都可以
# 使用WORKDIR的相对路径来指定
COPY requirements.txt requirements.txt
# 拷贝requirements.txt 到 镜像中/app/requirements.txt
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装pip包
COPY . .
# 将当前文件中的目录复制到/app目录下
ENV FLASK_APP app
# 设置环境变量,让flask run 命令能够找到启动文件的位置
CMD ["flask","run","-h","0.0.0.0","-p","5000"]
# 执行启动命名 flask run -h 0.0.0.0 -p 5000 列表中的每个元素之间代表空格
③、 准备的目录结构。
①、构建。
docker build -t flasktest:1.0 .
②、查看是否成功。
③、运行flasktest镜像。
docker run --name flasktest01 -p 5000:5000 flasktest:1.0
运行成功。
本文标题:云原生之Docker部署Flask实践
URL链接:http://www.shufengxianlan.com/qtweb/news40/403890.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联