大战熟女丰满人妻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 成功部署了。

全部教程
主站蜘蛛池模板: 四虎影院视频在线观看 | 亚洲精品一区二区卡 | 国产高清精品在线 | 伊人成人在线观看 | 久久亚洲国产伦理 | 亚洲国产欧美日韩一区二区 | 国产一级片毛片 | 神马影院不卡不卡在线观看 | 伊人365| 黄色小视频免费看 | 国产高清免费视频 | 国产一级一片免费播放 | 国产高清在线91福利 | 蘑菇视频绿巨人小黄鸭 | 手机看片高清日韩精品 | 久久久欧美综合久久久久 | 九九九久久久久久久爱 | 精品成人在线观看 | 国产精品福利一区二区久久 | 男任天堂2021 | 九九久久九九久久 | 免费国产成人高清在线观看麻豆 | 成人美女免费网站视频 | 亚洲欧美综合精品成 | 爱爱视频免费网站 | 99久久99热久久精品免费 | 在线播放波多野结衣 | 91色吧| 久久99国产亚洲精品 | 农村寡妇一级毛片免费播放 | 欧美精品午夜 | 国产一区二区久久 | 欧美性猛交ⅹxxx乱大交免费 | 国产成 人 综合 亚洲网 | 精品热久国产福利视频 | 伊人午夜 | 久久久久免费视频 | 思思久久99热这里只有精品66 | 日本不卡一区二区 | 国内在线视频 | 视频在线一区二区三区 |