大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Docker教程
Docker安裝
Docker使用
Docker實例

Docker根據docker-compose文件部署應用

下面將實際部署 Compose 文件中定義的應用。可以從我的百度網盤(https://pan.baidu.com/s/1Q0tcQnSqUQ06rfEdH_MBaw 提取碼: a55v)下載所需的文件。

將代碼下載到本地,并部署到新創建的名為 counter-app 的目錄中。

該目錄包含所需的所有文件,可以作為構建上下文。

Docker Compose 會使用目錄名(counter-app)作為項目名稱,這一點在后續的操作中會看到,Docker Compose 會將所有的資源名稱中加上前綴 counter-app_。

進入 counter-app 目錄中,檢查文件是否存在。

$ cd counter-app
$ ls
app.py docker-compose.yml Dockerfile requirements.txt ...

簡要介紹這幾個文件。

? app.py:是應用程序代碼(一個 Python Flask 應用)。

? docker-compose.yml:是 Compose 文件,其中定義了 Docker 如何部署應用。

? Dockerfile:定義了如何構建 web-fe 服務所使用的鏡像。

? requirements.txt:列出了應用所依賴的 Python 包。

app.py 顯然是應用的核心文件,而 docker-compose.yml 文件將應用的所有組件組織起來。

下面使用 Docker Compose 將應用啟動起來。以下所有的命令都是運行在剛才創建的 counter-app 目錄下的。

$ docker-compose up &

[1] 1635
Creating network "counterapp_counter-net" with the default driver
Creating volume "counterapp_counter-vol" with default driver
Pulling redis (redis:alpine)...
alpine: Pulling from library/redis
1160f4abea84: Pull complete
a8c53d69ca3a: Pull complete
<Snip>
web-fe_1 | * Debugger PIN: 313-791-729

啟動應用將花費幾秒鐘時間,其輸出也非常詳盡。下面我們來講解一下 docker-compose 命令。

常用的啟動一個 Compose 應用(通過 Compose 文件定義的多容器應用稱為“Compose 應用”)的方式就是 docker-compose up 命令。

它會構建所需的鏡像,創建網絡和卷,并啟動容器。

默認情況下,docker-compose up 會查找名為 docker-compose.yml 或 docker-compose.yaml 的 Compose 文件。

如果 Compose 文件是其他文件名,則需要通過 -f 參數來指定。

如下命令會基于名為 prod-equus-bass.yml 的 Compose 文件部署應用。

$ docker-compose -f prod-equus-bass.yml up

使用 -d 參數在后臺啟動應用也是常見的用法,代碼如下。

docker-compose up -d

--OR--

docker-compose -f prod-equus-bass.yml up -d

前面的示例命令在前臺啟動應用(沒有使用 -d 參數),但是使用了 & 將終端窗口返回。

這種用法不太正規,所有的日志還是會直接輸出到我們后續可能會用的終端窗口上。

這樣應用就構建并啟動起來了,可以直接使用 docker 命令來查看 Docker Compose 創建的鏡像、容器、網絡和卷。

$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
counterapp_web-fe latest 96..6ff9e 3 minutes ago 95.9MB
python 3.4-alpine 01..17a02 2 weeks ago 85.5MB
redis alpine ed..c83de 5 weeks ago 26.9MB

可以看到有 3 個在部署過程中構建或拉取的鏡像。

counterapp_web-fe:latest 鏡像源自 docker-compose.yml 文件中的 build: . 指令。

該指令讓 Docker 基于當前目錄下的 Dockerfile 來構建一個新的鏡像。

該鏡像基于 python:3.4-alpine 構建,其中包含 Python Flask Web 應用的程序代碼。更多信息可以通過查看 Dockerfile 的內容進行了解。

? FROM python:3.4-alpine << 基礎鏡像

? ADD . /code << 將app復制到鏡像中

? WORKDIR /code << 設置工作目錄

? RUN pip install -r requirements.txt << 安裝依賴

? CMD ["python", "app.py"] << 設置默認啟動命令

為了方便理解,每一行都添加了注釋。部署時要刪除掉。

請注意,Docker Compose 會將項目名稱(counter-app)和 Compose 文件中定義的資源名稱(web-fe)連起來,作為新構建的鏡像的名稱。

Docker Compose 部署的所有資源的名稱都會遵循這一規范。

由于 Compose 文件的 .Services.redis 項中指定了 image: "redis:alpine",因此會從 Docker Hub 拉取 redis:alpine 鏡像。

如下命令列出了兩個容器。每個容器的名稱都以項目名稱(所在目錄名稱)為前綴。此外,它們還都以一個數字為后綴用于標識容器實例序號,因為 Docker Compose 允許擴縮容。

$ docker container ls
ID COMMAND STATUS PORTS NAMES
12.. "python app.py" Up 2 min 0.0.0.0:5000->5000/tcp counterapp_web-fe_1
57.. "docker-entry.." Up 2 min 6379/tcp counterapp_redis_1

counterapp_web-fe 容器中運行的是應用的 Web 前端。其中執行的是 app.py,并且被映射到了 Docker 主機的 5000 端口,稍后會進行連接。

如下的網絡和卷列表顯示了名為 counterapp_counter-net 的網絡和名為 counterapp_counter-vol 的卷。

$ docker network ls
NETWORK ID NAME DRIVER SCOPE
1bd949995471 bridge bridge local
40df784e00fe counterapp_counter-net bridge local
f2199f3cf275 host host local
67c31a035a3c none null local

$ docker volume ls
DRIVER VOLUME NAME
<Snip>
local counterapp_counter-vol

應用部署成功后,讀者可以用 Docker 主機的瀏覽器連接 5000 端口來查看應用的運行效果,如下圖所示。

單擊瀏覽器的刷新按鈕,計數會增加。

如果使用 & 啟動應用,那么可以在終端窗口中看到包含 HTTP 響應碼 200 的日志。這表明請求收到了正確的響應,每次加載頁面都會有日志打印出來。

web-fe_1 | 172.18.0.1 - - [09/Jan/2018 11:13:21] "GET / HTTP/1.1" 200 -
web-fe_1 | 172.18.0.1 - - [09/Jan/2018 11:13:33] "GET / HTTP/1.1" 200 -

到此,多容器的應用已經借助 Docker Compose 成功部署了。

全部教程
主站蜘蛛池模板: 久久青草免费免费91线频观看 | 奇米第四色在线 | 亚洲国产精品不卡毛片a在线 | 日韩免费精品一级毛片 | 欧美在线精品一区二区三区 | 国产在线精品一区二区中文 | 天天做天天爱天天综合网 | 国产乱人伦精品一区二区 | 日日狠狠 | 天天干天天爽天天操 | 亚州欧美 | 成人精品一级毛片 | 久久久久久中文字幕 | 九九伦理 | 成人免费一区二区三区在线观看 | 国产成人高清精品免费观看 | 国产精品入口麻豆高清在线 | 黄色网址在线免费 | 亚洲日韩色综合视频 | 97中文字幕在线 | 日本中文一二区有码在线观看 | 久久久久欧美精品三级 | 国产精品视_精品国产免费 国产精品视频2021 | 香蕉依依精品视频在线播放 | 国产日韩欧美综合一区 | 久久草在线观看 | 欧美日韩中文字幕在线 | 亚洲国产午夜精品理论片的软件 | 黄色视屏在线免费观看 | 未成人做爰视频www 我爱52avαv永久网站 | 毛片免费观看 | 欧美日韩综合视频 | 在线综合色 | 久久久久蜜桃 | 九九热免费在线观看 | 狠狠躁夜夜躁人人爽天天miya | 亚洲第一永久在线观看 | 日本一区二区三区四区公司 | 日本无吗中文字幕免费婷婷 | 亚洲欧美国产五月天综合 | 亚洲热线99精品视频 |