国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

1.構建docker的flask鏡像

doodlewind / 1483人閱讀

摘要:基于鏡像構建自己的鏡像官方鏡像地址拉取官方的鏡像交互式方式生成一個容器進入交互式容器,查看當前版本設置的阿里云鏡像源確認一下是否配置成功我們的使用的是系統使用的是包管理器命令如默認的鏡像源也比較慢,我們也換成國內的設

基于alpine鏡像構建自己的flask鏡像

python官方鏡像地址:

http://hub.docker.com/_/python

拉取官方的python鏡像

docker pull python:3.7-alpine

交互式方式生成一個python容器

docker run -it --name python37 --rm python:3.7-alpine /bin/sh

進入交互式容器,查看當前python版本

python --version

設置pip的阿里云鏡像源

mkdir $HOME/.pip/

tee $HOME/.pip/pip.conf <<-"EOF"
[global]
trusted-host=mirrors.aliyun.com
index-url=https://mirrors.aliyun.com/pypi/simple
EOF

確認一下是否配置成功

cat $HOME/.pip/pip.conf

我們的python使用的是alpine系統

alpine使用的是apk包管理器

命令如:

apk add

apk update

apk del

alpine默認的鏡像源也比較慢,我們也換成國內的

設置alpine鏡像源

echo http://mirrors.ustc.edu.cn/alpine/v3.7/main > /etc/apk/repositories

echo http://mirrors.ustc.edu.cn/alpine/v3.7/community >> /etc/apk/repositories

設置后要執行

apk update && apk upgrade

安裝flask

python -m pip install -U flask

編寫test.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

@app.route("/abc")
def abc():
    return "Hello abc"

if __name__ == "__main__":
    app.run()

第一種執行這個py文件方式

python test.py

然后在另一個終端以交互式方式進入這個python容器

docker exec -it python37 /bin/sh

下載curl命令

apk add curl

使用curl訪問flask服務

curl localhost:5000

curl localhost:5000/abc

第二種執行這個py文件的方式

# 設置環境變量
export FLASK_APP=/test.py

# flask運行起來
flask run

第三種執行這個py文件的方式

FLASK_APP=test.py flask run

根據上面的操作步驟,我們可以來編寫Dockerfile生成自己的flask鏡像

先退出上面的交互式容器,按:ctrl+D

創建一個flask目錄,并進入

mkdir flask

cd flask

創建一個pip.conf文件,將pip鏡像源寫進去

tee pip.conf <<-"EOF"
[global]
trusted-host=mirrors.aliyun.com
index-url=https://mirrors.aliyun.com/pypi/simple
EOF

編寫Dockerfile文件

FROM python:3.7-alpine
RUN echo http://mirrors.ustc.edu.cn/alpine/v3.7/main > /etc/apk/repositories && 
    echo http://mirrors.ustc.edu.cn/alpine/v3.7/community >> /etc/apk/repositories
RUN apk update && apk upgrade
RUN mkdir $HOME/.pip/
COPY ./pip.conf $HOME/.pip/
RUN pip install flask
EXPOSE 5000
CMD ["flask", "run"]

執行docker build命令進行鏡像構建

docker build -t myflask:1.0 .

確認是否構建成功

docker images

ok!鏡像構建成功!

怎么運行??

創建一個myapp目錄

mkdir myapp

放入上面的test.py文件

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

@app.route("/abc")
def abc():
    return "Hello abc"

if __name__ == "__main__":
    app.run()

然后通過剛剛構建的鏡像生成我們的容器

docker run --name myapp --rm -d -p 8080:5000 -v ~/myapp:/app -e FLASK_APP=/app/test.py myflask:1.0

確認容器是否啟動

docker ps

恩,啟動了!

但是我們無法通過外網訪問服務器ip的8080端口訪問到容器里面

為什么?

flash默認只允許本機訪問!

怎么辦?

停掉剛剛生成的容器

docker stop myapp

重新生成容器,指定允許ip為0.0.0.0,然外部可以訪問

docker run --name myapp --rm -d -p 8080:5000 -v ~/myapp:/app -e FLASK_APP=/app/test.py myflask:1.0 flask run -h 0.0.0.0

通過外網瀏覽器訪問

http://服務器ip:8080

ok,可以訪問到flask搭建的程序了!

原文鏈接:http://www.mi360.cn/articles/34

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43881.html

相關文章

  • 1.構建dockerflask鏡像

    摘要:基于鏡像構建自己的鏡像官方鏡像地址拉取官方的鏡像交互式方式生成一個容器進入交互式容器,查看當前版本設置的阿里云鏡像源確認一下是否配置成功我們的使用的是系統使用的是包管理器命令如默認的鏡像源也比較慢,我們也換成國內的設 基于alpine鏡像構建自己的flask鏡像 python官方鏡像地址: http://hub.docker.com/_/python 拉取官方的python鏡像 doc...

    makeFoxPlay 評論0 收藏0
  • docker-compose 運行 Flask 應用最佳實踐

    摘要:現在有了之后,部署方式變了更加容易,不容易出現配置錯誤,環境不一致問題。實際應用中,經常遇到多個容器相配合運行一套應用程序的情況。所以想要將應用運行在容器中,該容器必須將該應用所有的環境依賴安裝好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景 ??以前部署應用,需要各種環境配置,各種shell操作...

    fasss 評論0 收藏0
  • docker-compose 運行 Flask 應用最佳實踐

    摘要:現在有了之后,部署方式變了更加容易,不容易出現配置錯誤,環境不一致問題。實際應用中,經常遇到多個容器相配合運行一套應用程序的情況。所以想要將應用運行在容器中,該容器必須將該應用所有的環境依賴安裝好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景 ??以前部署應用,需要各種環境配置,各種shell操作...

    sumory 評論0 收藏0
  • 被忽略后臺開發神器 — Docker

    摘要:后來真正用的時候才發覺,這個簡直是個神器。容器可以被創建啟動停止刪除暫停等。項目由編寫,實現上調用了服務提供的來對容器進行管理。此命令將會停止命令所啟動的容器,并移除網絡啟動已經存在的服務容器。停止已經處于運行狀態的容器,但不刪除它。 showImg(https://segmentfault.com/img/remote/1460000017531120?w=1200&h=500); ...

    warnerwu 評論0 收藏0
  • 被忽略后臺開發神器 — Docker

    摘要:后來真正用的時候才發覺,這個簡直是個神器。容器可以被創建啟動停止刪除暫停等。項目由編寫,實現上調用了服務提供的來對容器進行管理。此命令將會停止命令所啟動的容器,并移除網絡啟動已經存在的服務容器。停止已經處于運行狀態的容器,但不刪除它。 showImg(https://segmentfault.com/img/remote/1460000017531120?w=1200&h=500); ...

    CollinPeng 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<