您好,登錄后才能下訂單哦!
你可以通過多種方式來管理和部署Docker容器。你可以直接使用Docker命令、借助眾多GUI工具中的一款(基于Web的工具和面向桌面客戶端的工具),也可以選擇走docker-compose這條路。
Docker Compose是什么東東?Docker Compose用于創建容器及容器之間的連接。然而,docker-compose命令的用途實際上廣泛得多。使用此命令可以:構建映像、擴展容器、修復容器、查看容器的輸出、列出容器的公共端口等等。
那么如何使用docker-compose呢?不妨一探究竟。
如何安裝Docker Compose?
即使你已經在服務器上安裝了Docker,也很可能沒有安裝Docker Compose。要安裝Docker Compose,執行以下命令:
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
使用以下命令驗證安裝:
docker-compose version
你應該會看到幾個應用程序的版本號(圖A)。
圖A. Docker Compose已安裝并準備就緒
Docker文件
為了部署容器,Docker Compose依賴docker-compose.yml文件,該文件用于將Docker容器部署到你的特定環境。假設你想部署Wordpress容器。先使用以下命令創建一個新目錄:
mkdir ~/wordpressbuild
使用以下命令切換到該新目錄:
cd ~/wordpressbuild
使用以下命令創建新的Docker Compose文件:
nano docker-compose.yml
將以下內容(取自官方Docker Compose文檔)粘貼到文件中:
version: '3.3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes: db_data: {}
保存并關閉該文件。
現在我們使用以下命令構建項目并在分離模式下部署容器:
docker-compose up –d
該命令將下載所有必需的映像(本例中是MySQL和Wordpress),然后在端口8000上部署該服務。可以將Web瀏覽器指向http://SERVER_IP:8000(其中SERVER_IP是托管服務器的IP地址),查看Wordpress安裝頁面(圖B)。
圖B. Wordpress安裝程序
如何檢查你的部署?
假設你想檢查來自部署的日志。為此,執行以下命令:
docker-compose logs
你應該會看到來自上一次部署的大量信息(圖C)。
圖C. 查看來自Wordpress的docker-compose部署的日志
該命令將輸出大量信息(如果你部署了眾多容器更是如此)。相反,你可以指定要查看日志文件的服務。如何知道使用哪個服務名稱?檢查docker-compose.yml文件。在本文示例中,我們有兩個服務:
因此,如果你只想查看wordpress服務的日志,那么該命令將是:
docker-compose logs wordpress
你也可以查看日志的輸出(就像使用tail命令那樣),如下所示:
docker-compose logs -f wordpress
只要wordpress服務的新信息記入日志,就會出現在終端窗口中(圖D)。
圖D. 查看wordpress服務日志
如果你忘了部署中使用哪些端口,該怎么辦?可以查看docker-compose.yml文件,也可以將port選項與docker-compose命令一起使用。你要知道服務的內部命令。比如說,Wordpress默認使用端口80,因此我們知道這是內部端口。但我們將什么分配為面向網絡的端口?用以下命令查清楚:
docker-compose port wordpress 80
該命令的輸出將顯示我們將內部端口80映射到外部端口8000(圖E)。
圖E. Wordpress的端口映射
如果你記不得已部署的容器,可以執行命令:
docker-compose ps
輸出會列出已部署的每個容器(圖F)。
圖F. 容器列表
剛剛開始
這應該讓你可以開始領略Docker Compose的強大功能。我們會在下一篇文章中細述docker-compose.yml文件,弄清楚如何構建自己的容器。
原文標題:How to use the docker-compose command,作者:Jack Wallen
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。