在 Ubuntu 16.04 中使用 Docker Compose
什麼是 Docker Compose
Docker Compose 是一個執行多容器 Docker 應用的工具。Compose 通過一個配置檔案來配置一個應用的服務,然後通過一個命令建立並啟動所有在配置檔案中指定的服務。
Docker Compose 適用於許多不同的專案,如:
- 開發:利用 Compose 命令列工具,我們可以建立一個隔離(而可互動)的環境來承載正在開發中的應用程式。通過使用 Compose 檔案,開發者可以記錄和配置所有應用程式的服務依賴關係。
- 自動測試:此用例需求一個測試執行環境。Compose 提供了一種方便的方式來管理測試套件的隔離測試環境。完整的環境在 Compose 檔案中定義。
Docker Compose 是在 Fig 的原始碼上構建的,這個社群專案現在已經沒有使用了。
在本教程中,我們將看到如何在 Ubuntn 16.04 上安裝 Docker Compose。
安裝 Docker
我們需要安裝 Docker 來安裝 Docker Compose。首先為官方 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 容器只能在命令(LCTT 譯註:此處應為容器中的命令)還處於活動狀態時執行,因此當測試完成執行時,容器將停止執行。
結論
本文是關於在 Ubuntu 16.04 中安裝 Docker Compose 的教程。我們還看到了如何通過一個 YAML 格式的 Compose 檔案構建一個簡單的專案。
via: https://www.unixmen.com/container-docker-compose-ubuntu-16-04/
作者:Giuseppe Molica 譯者:Locez 校對:wxy
相關文章
- Ubuntu 中Docker Compose的異巧UbuntuDocker
- 在Ubuntu中安裝Docker和docker的使用UbuntuDocker
- 如何使用RubyMine中的Docker / Docker Compose?Docker
- Ubuntu 安裝最新 docker docker-composeUbuntuDocker
- [Docker]在Ubuntu容器中建立sudo使用者DockerUbuntu
- Docker Compose使用Docker
- Ubuntu Server 24.04 LTS 安裝 Docker 與 Docker ComposeUbuntuServerDocker
- Docker compose的使用Docker
- UBuntu16.04下安裝Docker(親測)UbuntuDocker
- ubuntu16.04系統下安裝dockerUbuntuDocker
- 在WSL2的Ubuntu中安裝和使用Docker/PodmanUbuntuDocker
- 在Ubuntu16.04 中 使用pecl 為 php7.2 安裝swoole擴充套件UbuntuPHP套件
- ubuntu 16.04中CAFFE配置步驟Ubuntu
- Ubuntu16.04安裝、使用typoraUbuntu
- 使用 makefile 管理 docker-composeDocker
- docker-compose 使用例項Docker
- 使用Docker安裝Odoo 17(非Docker Compose)DockerOdoo
- VM中的Ubuntu(16.04)安裝tenserflowUbuntu
- 在 Ubuntu 14.04 下使用 cgroups 和 DockerUbuntuDocker
- Docker 和 Docker ComposeDocker
- docker composeDocker
- 使用ansible安裝docker以及docker-composeDocker
- 關於docker-Compose基本使用Docker
- 使用 Docker Compose 管理多個容器Docker
- 使用啄木鳥CI部署Docker/ComposeDocker
- 7、docker-compose安裝使用Docker
- 在Ubuntu16.04上安裝LEMP環境Ubuntu
- 如何在Ubuntu 16.04中建立GIF動圖Ubuntu
- Ubuntu中安裝DockerUbuntuDocker
- Docker:Docker Compose 詳解Docker
- 開始使用DOCKER COMPOSE V2Docker
- 使用docker-compose管理freeswitch容器Docker
- 網路分析利器:在 Ubuntu 16.04 上安裝 BroUbuntu
- Ubuntu 軟體中心將在 16.04 LTS 中被替換Ubuntu
- Docker Compose fileDocker
- docker compose 用法Docker
- docker compose 指令Docker
- Docker Compose 案例Docker