av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

云原生之Docker部署Flask實(shí)踐

云原生之docker部署Flask實(shí)踐

作者:yukoyu 2022-05-26 15:02:35

云計(jì)算

云原生 Docker客戶(hù)端與 Docker守護(hù)進(jìn)程對(duì)話(huà),后者負(fù)責(zé)構(gòu)建、運(yùn)行和分發(fā) Docker 容器的繁重工作。Docker 客戶(hù)端和守護(hù)程序可以在同一系統(tǒng)上運(yùn)行,或者您可以將 Docker 客戶(hù)端連接到遠(yuǎn)程 Docker 守護(hù)程序。

創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供銀川企業(yè)網(wǎng)站建設(shè),專(zhuān)注與做網(wǎng)站、網(wǎng)站設(shè)計(jì)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為銀川眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

一、Docker的了解

1、Docker 簡(jiǎn)單介紹

Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴(lài)包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux或Windows操作系統(tǒng)的機(jī)器上,也可以實(shí)現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。

2、Docker 使用客戶(hù)端-服務(wù)器架構(gòu)

Docker客戶(hù)端與 Docker守護(hù)進(jìn)程對(duì)話(huà),后者負(fù)責(zé)構(gòu)建、運(yùn)行和分發(fā) Docker 容器的繁重工作。Docker 客戶(hù)端和守護(hù)程序可以在同一系統(tǒng)上運(yùn)行,或者您可以將 Docker 客戶(hù)端連接到遠(yuǎn)程 Docker 守護(hù)程序。Docker 客戶(hù)端和守護(hù)程序使用 REST API,通過(guò) UNIX 套接字或網(wǎng)絡(luò)接口進(jìn)行通信。另一個(gè) Docker 客戶(hù)端是 Docker Compose,它允許您使用由一組容器組成的應(yīng)用程序。

二、DockerFile 講解

  • FROM 命
FROM:構(gòu)建鏡像基于哪個(gè)鏡像
  • MAINTAINER 命令
MAINTAINER:鏡像維護(hù)者姓名或郵箱地址
  • RUN 命令
RUN:構(gòu)建鏡像時(shí)運(yùn)行的指令
  • CMD 命令
CMD:運(yùn)行容器時(shí)執(zhí)行的shell環(huán)境
  • VOLUME 命令
VOLUME:指定容器掛載點(diǎn)到宿主機(jī)自動(dòng)生成的目錄或其他容器
  • USER 命令
USER:為RUN、CMD、 ENTRYPOINT 執(zhí)行命令指定運(yùn)行用戶(hù)
  • WORKDIR 命令
WORKDIR:為 RUN、CMD、ENTRYPOINT、COPY 、 ADD 設(shè)置工作目錄
  • EXPOSE 命令
EXPOSE:聲明容器的服務(wù)端口,僅是聲明
  • ENV 命令
ENV:設(shè)置容器環(huán)境變量
  • ADD 命令
ADD:拷貝文件或目錄到容器中,如果是URL或壓縮包便會(huì)自動(dòng)下載或自動(dòng)解壓
  • COPY 命令
COPY:拷貝文件或目錄到容器中,跟ADD類(lèi)似,但不具備自動(dòng)下載或解壓的功能
  • ENTRYPOINT 命令
ENTRYPOINT:運(yùn)行容器時(shí)執(zhí)行的shell命令

三、Docker 快速部署python flask框架

1、創(chuàng)建一個(gè)最小的Flask

①、 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 文件。

導(dǎo)出本項(xiàng)目Python依賴(lài)包。

pip freeze > requirements.txt

2、flask代碼和requirements.txt 上傳到服務(wù)器

①、準(zhǔn)備好要上傳的文件。

②、使用MobaXterm連接到服務(wù)器。

③、拖拽文件上傳到服務(wù)器。

3、Docker 環(huán)境準(zhǔn)備

①、Docker拉取 python鏡像。

docker pull python

②、編寫(xiě) Dockerfile文件。

FROM python       # 基礎(chǔ)鏡像,python
MAINTAINER yukoyu # 鏡像作者信息
WORKDIR /app
# 工作目錄,這個(gè)目錄對(duì)應(yīng)于鏡像內(nèi)的工作目錄,后面的所有涉及到路徑的操作都可以
# 使用WORKDIR的相對(duì)路徑來(lái)指定
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 . .
# 將當(dāng)前文件中的目錄復(fù)制到/app目錄下
ENV FLASK_APP app
# 設(shè)置環(huán)境變量,讓flask run 命令能夠找到啟動(dòng)文件的位置
CMD ["flask","run","-h","0.0.0.0","-p","5000"]
# 執(zhí)行啟動(dòng)命名 flask run -h 0.0.0.0 -p 5000 列表中的每個(gè)元素之間代表空格

③、 準(zhǔn)備的目錄結(jié)構(gòu)。

4、使用Dockerfile構(gòu)建鏡像

①、構(gòu)建。

docker build -t flasktest:1.0 .

②、查看是否成功。

③、運(yùn)行flasktest鏡像。

docker run --name flasktest01 -p 5000:5000 flasktest:1.0

四、測(cè)試效果

運(yùn)行成功。


分享標(biāo)題:云原生之Docker部署Flask實(shí)踐
文章分享:http://uogjgqi.cn/article/djehjge.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流