創建應用
首先,編寫一個簡單的Flask應用:docker_test/flask_app.py
Docker 安裝
請根據自己的操作系統自行安裝。
Docker簡介
- Docker 鏡像
Docker鏡像 (Image)類似於虛擬機鏡像,可以將它理解為一個面向Docker引擎的只讀模版,包含了文件系統。鏡像是創建Docker容器的基礎。 - Docker 容器
Docker容器 (Container)類似於一個輕量級的沙箱,Docker利用容器來運行和隔離應用。容器是從鏡像創建的應用運行實例,可以將其啟動、開始、停止、刪除,而這些容器都是相互隔離、互不相見的。 - Docker 倉庫
Docker倉庫 (Repositort)類似於代碼倉庫,是Docker集中存放鏡像文件的場所。根據公開分享與否,Docker倉庫分為公開倉庫 (Public)和私有倉庫 (Private)兩種形式。
目前最大的公開倉庫是Docker Hub,存放了大量的鏡像供用戶下載。
Docker 部署步驟
下載python鏡像
可在docker.hub網站上查詢python鏡像的版本,下載想要的版本
docker pull python:XXX
運行python鏡像
docker run -it python:XXX
另起一個控制台窗口,查看上步容器的ID
docker ps|grep python
可以看到當前容器的ID
進入python容器
docker exec -it 容器ID /bin/bash
安裝Flask應用所需的依賴包
pip install -r requirements.txt
安裝完成后,另起一個窗口,將當前的容器制作成鏡像
docker commit 容器ID 新名字
在docker_test/下編寫dockfile, 舉例
FROM docker_test:v0.1
COPY flask_app.py /flask_app.py
EXPOSE 5000
ENTRYPOINT ["python","flask_app.py"]
第一行為基礎鏡像,即第7步中制作的鏡像
第二行是將Python程序導入容器
第三行是暴露python的端口
第四行是運行容器時執行的命令
在docker_test/下制作鏡像
docker build -t 鏡像名字 .
運行容器
docker run -p5000:5000 鏡像名字