亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker容器編排利器Compose怎么用

發布時間:2021-08-21 09:22:48 來源:億速云 閱讀:121 作者:小新 欄目:服務器

這篇文章將為大家詳細講解有關Docker容器編排利器Compose怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Compose簡介

Compose的前身是Fig,Fig被Docker收購之后正式更名為Compose,Compose向下兼容Fig。Compose是一個用于定義和運行多容器Docker應用的工具,只需要一個Compose的配置文件和一個簡單的命令就可以創建并運行應用所需的所有容器。在配置文件中,所有容器通過services來定義,并使用docker-compose命令啟動或停止容器以及所有依賴容器。

安裝Compose

Compose的安裝方式有多種,這里推薦使用curl命令安裝,在安裝之前,要確保你的機器上已經安裝了Docker,可以運行sudo docker version命令來確認是否已安裝了Docker。截至目前,Compose的最新發布版為1.11.2,下面演示在一臺已經安裝好Docker的Linux主機上安裝Compose。

安裝很簡單,只需要執行下面的命令即可:

sudo curl -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

等待安裝完畢后,執行下面的命令,為docker-compose添加可執行權限:

chmod +x /usr/local/bin/docker-compose

輸入docker-compose --version命令可以查看安裝結果。

除了這種安裝方式之外,還可以通過Python的pip命令安裝或將Compose安裝成Docker容器,詳情請參見https://docs.docker.com/compose/install/#install-as-a-container。

如果要卸載Compose,可以執行sudo rm /usr/local/bin/docker-compose命令。

Compose入門

下面我們通過一個簡單的例子演示Compose的使用步驟,使用Python構建一個Web應用,該應用使用Flask框架,并在Redis中維護一個命中計數(即使你不熟悉Python也沒有關系,你甚至不需要安裝Python和Redis,我們會從容器中獲取這些依賴環境)。

創建工程

首先需要一個文件夾作為項目文件夾:

mkdir composetest
cd composetest

在項目文件夾下創建一個app.py的文件,并將下面的代碼拷貝并粘貼到該文件中:

from flask import Flask
from redis import Redis

app = Flask(__name__)
redis = Redis(host='redis', port=6379)

@app.route('/')
def hello():
  count = redis.incr('hits')
  return 'Hello World! I have been seen {} times.\n'.format(count)

if __name__ == "__main__":
  app.run(host="0.0.0.0", debug=True)

在項目文件夾下創建一個requirements.txt的文件,并將下面的代碼拷貝并粘貼到該文件中:

flask
redis

到此,我們已經完成了新建項目,編碼,添加依賴等工作。

創建Dockerfile

下面我們創建一個Dockerfile文件用于構建Docker鏡像,該鏡像包含了運行該Web應用的所有依賴,包括Python運行環境。

在項目文件夾下創建一個Dockerfile文件,并將下面的內容拷貝并粘貼到該文件中:

FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

大概解釋一下這個配置文件:

  1. 使用python-3.4-alpine作為基礎鏡像

  2. 將當前目錄添加到鏡像中/code目錄下

  3. 將/code設置為工作目錄

  4. 安裝Python依賴

  5. 設置默認執行命令

在Compose文件中定義services

在項目文件夾下創建一個docker-compose.yml文件,并將下面的內容拷貝并粘貼到該文件中:

version: '2'
services:
 web:
  build: .
  ports:
   - "5000:5000"
  volumes:
   - .:/code
 redis:
  image: "redis:alpine"

該配置文件中包含兩個services,即web和redis。web會使用當前目錄中的Dockerfile文件構建鏡像,并將容器的5000端口暴露給主機,然后將項目文件夾掛載到容器中的/code目錄下;redis使用官方發布的鏡像構建。

構建并運行

執行下面的命令構建并運行容器:

sudo docker-compose up

容器構建完成并啟動后,可以在瀏覽器中輸入http://localhost:5000查看結果。頁面會打印“Hello World! I have been seen 1 times.”,刷新頁面后,計數會累加變成2。

更新應用

由于項目文件夾掛載到了容器中,所以我們可以直接修改項目文件夾的應用,修改的結果立即反應到容器中,而不用重新啟動容器。將app.py文件中的hello方法中的返回值修改成如下:

return 'Hello from Docker! I have been seen {} times.\n'.format(count)

保存后刷新瀏覽器,發現打印結果已經更新。

Compose的其他命令

上面提到的Componse使用命令構建并啟動容器,是以前臺的方式啟動的,如果希望以后臺啟動,可以添加參數-d,比如下面這樣:

sudo docker-compose up -d

docker-compose ps命令可以查看正在運行的容器:

liuwei@liuwei-Ubuntu:~$ sudo docker-compose ps
Name           Command        State      Ports
-------------------------------------------------------------------------------------
composetest_redis_1  docker-entrypoint.sh redis ...  Up   6379/tcp
composetest_web_1   python app.py          Up   0.0.0.0:5000->5000/tcp

如果使用sudo docker-compose up -d命令以后臺方式啟動,可以用docker-compose stop命令停止。docker-compose down --volumes命令可以停止容器并將其刪除, --volumns表示同時刪除redis數據文件目錄。

有關Compose的更多命令,可以通過sudo docker-compose --help查看。

以上就是Compose的一個基本使用過程,可以發現,Compose將docker run命令整合到了一個docker-compose.yml配置文件中,對于大型Docker集群的管理是很方便的,例可以將多個service組合成更復雜的service組,為每個service指定不同的Dockerfile,然后把它們link在一起。

關于“Docker容器編排利器Compose怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

津南区| 武胜县| 新津县| 巴青县| 什邡市| 京山县| 中卫市| 彭泽县| 离岛区| 庆安县| 疏附县| 怀柔区| 凤台县| 河池市| 潼关县| 通渭县| 玛沁县| 黄陵县| 文化| 大埔区| 惠水县| 玛多县| 潞西市| 元阳县| 烟台市| 五大连池市| 吉首市| 长垣县| 侯马市| 绵阳市| 固安县| 毕节市| 临邑县| 玉门市| 青州市| 循化| 武功县| 郯城县| 德令哈市| 揭阳市| 澄城县|