首頁 > 軟體

容器:Ubuntu 16.04安裝Docker Compose詳解

2020-06-16 17:10:21

什麼是Docker Compose

Docker Compose是執行多容器Docker應用程式的工具。要使用Compose設定應用程式的服務,我們使用組態檔,然後執行單個命令,可以建立並啟動設定中指定的所有服務。

Docker Compose適用於許多不同的專案,如:

  • 開發:使用Compose命令列工具,我們建立(並互動)一個孤立的環境,這將承載正在開發的應用程式。
  • 通過使用Compose檔案,開發人員將記錄並設定所有應用程式的服務依賴關係。
  • 自動測試:此用例需要執行測試的環境。Compose提供了一種方便的方式來管理測試套件的隔離測試環境。完整的環境在Compose檔案中定義。
  • Docker Compose是在Fig 組態檔中建立的,這個社群專案現在沒有使用。

在本教學中,我們將看到如何在Ubuntu 16.04機器上安裝Docker Compose。

安裝Docker

為了安裝Docker Compose,我們需要Docker。首先,為官方Docker儲存庫新增公鑰:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add-

接下來,將Docker儲存庫新增到apt源列表中:

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

更新資料庫包,使用用apt安裝Docker

$ sudo apt-get update
$ sudo apt install docker-ce

在安裝過程結束時,Docker守護程式應該啟動,以便在引導時載入。 我們可以使用以下命令檢查其狀態:

$ sudo systemctl status docker
---------------------------------

● docker.service - Docker Application Container Engine
 Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
 Active: active (running) 

安裝Docker Compose

此時可以安裝Docker Compose。 通過執行以下命令下載當前版本:

# curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

去除執行許可權:

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

檢查Docker Compose版本:

$ docker-compose -v

輸出應該是這樣的:

docker-compose version 1.14.0, build c7bdf9e

測試 Docker Compose

Docker Hub包含用於演示的Hello World映象,說明了使用Docker Compose執行容器所需的設定。

建立一個新的目錄並進入它:

$ mkdir hello-world
$ cd hello-world

建立一個新的YAML檔案:

$ $EDITOR docker-compose.yml

在此檔案中貼上以下內容:

unixmen-compose-test:
 image: hello-world

注意:第一行用作容器名稱的一部分。

儲存並退出。

執行容器
接下來,在hello-world目錄中執行以下命令:

$ sudo docker-compose up

如果一切正確,這應該是Compose所顯示的輸出:

 
Pulling unixmen-compose-test (hello-world:latest)...
latest: Pulling from library/hello-world
b04784fba78d: Pull complete
Digest: sha256:f3b3b28a45160805bb16542c9531888519430e9e6d6ffc09d72261b0d26ff74f
Status: Downloaded newer image for hello-world:latest
Creating helloworld_unixmen-compose-test_1 ... 
Creating helloworld_unixmen-compose-test_1 ... done
Attaching to helloworld_unixmen-compose-test_1
unixmen-compose-test_1 | 
unixmen-compose-test_1 | Hello from Docker!
unixmen-compose-test_1 | This message shows that your installation appears to be working correctly.
unixmen-compose-test_1 | 
unixmen-compose-test_1 | To generate this message, Docker took the following steps:
unixmen-compose-test_1 | 1. The Docker client contacted the Docker daemon.
unixmen-compose-test_1 | 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
unixmen-compose-test_1 | 3. The Docker daemon created a new container from that image which runs the
unixmen-compose-test_1 | executable that produces the output you are currently reading.
unixmen-compose-test_1 | 4. The Docker daemon streamed that output to the Docker client, which sent it
unixmen-compose-test_1 | to your terminal.
unixmen-compose-test_1 | 
unixmen-compose-test_1 | To try something more ambitious, you can run an Ubuntu container with:
unixmen-compose-test_1 | $ docker run -it ubuntu bash
unixmen-compose-test_1 | 
unixmen-compose-test_1 | Share images, automate workflows, and more with a free Docker ID:
unixmen-compose-test_1 | https://cloud.docker.com/
unixmen-compose-test_1 | 
unixmen-compose-test_1 | For more examples and ideas, visit:
unixmen-compose-test_1 | https://docs.docker.com/engine/userguide/
unixmen-compose-test_1 | 
helloworld_unixmen-compose-test_1 exited with code 0

只要命令處於活動狀態,Docker容器就會執行,因此當測試完成執行時,容器將停止。

總結

本文介紹了關於在Ubuntu 16.04機器上安裝Docker Compose的教學。 我們還看到了如何通過YAML格式的Compose檔案建立一個簡單的專案。

更多Docker相關教學見以下內容

Docker安裝應用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

Ubuntu 16.04 伺服器上設定使用 Docker  http://www.linuxidc.com/Linux/2017-06/145176.htm

Ubuntu 15.04下安裝Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm

Docker 安裝範例 http://www.linuxidc.com/Linux/2017-04/142666.htm

Docker 建立基礎映象  http://www.linuxidc.com/Linux/2017-05/144112.htm

在 Ubuntu 15.04 上如何安裝Docker及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm

Ubuntu 16.04上Docker使用手記 http://www.linuxidc.com/Linux/2016-12/138490.htm

使用Docker分分鐘啟動常用應用  http://www.linuxidc.com/Linux/2017-04/142649.htm

Ubuntu 16.04下Docker修改組態檔不生效解決辦法  http://www.linuxidc.com/Linux/2017-05/143862.htm 


IT145.com E-mail:sddin#qq.com