docker 部署 flask(一)配置環境及測試

Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options

簡介:html

flask也是要部署的。不能老在咱們的pycharm裏面跑測試服務器。python

各類配置linux,我看就算了吧。咱們用docker部署。linux

也就兩三行命令。nginx

一:選擇基礎鏡像git

GitHub repo: https://github.com/tiangolo/uwsgi-nginx-flask-dockergithub

Docker Hub image: https://hub.docker.com/r/tiangolo/uwsgi-nginx-flask/docker

這個應該是比較好的,做者維護的也不錯,不少人都在用這個。flask

本次選用版本爲:python3.6-alpine3.7(66M)瀏覽器

二:準備服務器環境安全

1.操做系統安裝

儘量選擇linux,即便沒有,你也用虛擬機裝一個。

2.ssh

配置支持ssh,sftp支持。方便用winscp傳文件。

3.docker

根據你的linux版本,裝上docker,並設置隨系統啓動自動開啓。

4.daocloud.io

配置daocloud.io連接支持。

最終環境就是你能夠很方便的用winscp鏈接一個配置了daocloud可管理docker的linux服務器。

5.端口檢查

若是你已經有一些容器運行在這個服務器上,請檢查是否已經佔用80端口,443端口。並在後面的配置中,自行替換空閒端口。

後面的文章以80端口和443端口來演示。

6.對本小結內容不理解的請看:http://www.cnblogs.com/jackadam/p/8371081.html 

艹,你要補的課比較多,不貼連接了。

三:測試基礎鏡像

下面有兩種方式來測試基礎鏡像,請根據自身技術能力來決定跟隨哪一部分來進行測試。(僅須要一種)

1.命令行方式

在linux服務器上執行這條命令:

docker run -d -p 80:80 tiangolo/uwsgi-nginx-flask:python3.6-alpine3.7

等命令提示符再出來的時候就執行完了。

嘗試訪問服務器地址80端口:http://192.168.1.3/(自行替換你的服務器IP地址。)

鏡像和環境一切工做正常,瀏覽器會返回這個鏡像的默認返回:

Hello World from Flask in a uWSGI Nginx Docker container with Python 3.6 (default)

 

注意事項:

"permission denied"若是有這樣的提示,通常是selinux的緣由。

SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對於強制訪問控制的實現,是 Linux歷史上最傑出的新安全子系統。

能夠用下面的這個命令臨時關閉,下次重啓就會再次開啓

setenforce 0

臨時關閉後能夠用這個來從新開啓

setenforce 1

這個命令用來查看狀態:Enforcing是開啓  Permissive是關閉

getenforce

 

2.圖形方式

 登陸daocloud,依次點擊  發現鏡像--Docker Hub--輸入flask--找到tiangolo/uwsgi-nginx-flask

 點擊部署

設定應用名稱

選擇版本

選擇主機

下一步,進行部署

點擊動態端口,給定映射端口

當即部署

 

 

 uwSGI worker 就證實工做了。

 

 

嘗試訪問服務器地址80端口:http://192.168.1.3/(自行替換你的服務器IP地址。)

鏡像和環境一切工做正常,瀏覽器會返回這個鏡像的默認返回:

Hello World from Flask in a uWSGI Nginx Docker container with Python 3.6 (default)

 

四:刪除測試容器。

仍是兩種方法,命令行,圖形。

1,命令行:

docker ps docker stop ac4 docker rm ac4 docker ps

注意:

docker ps 是列出正在運行的容器。 ac4 是我準備刪除的容器的ID 的前3位,要根據你的容器ID來寫

能夠看第二列 IMAGES 來找到你準備刪除的容器。

先stop 中止容器,才能夠rm 刪除容器。

最後再docker ps 驗證一下。

以下圖所示。

2.圖形界面刪除。

進入daocloud管理--集羣管理--管理主機

找到你要管理的主機:

根據鏡像名或容器名找到準備刪除的容器。

先中止

再刪除

 

注意:

若是你是在圖形界面配置啓動的容器,那麼請到應用目錄刪除相應的應用。

相關文章
相關標籤/搜索