詳解如何使用Docker-Compose命令
你可以通過多種方式來管理和部署Docker容器。你可以直接使用Docker命令、借助眾多GUI工具中的一款(基于Web的工具和面向桌面客戶端的工具),也可以選擇走docker-compose這條路。
Docker Compose是什么東東?Docker Compose用于創(chuàng)建容器及容器之間的連接。然而,docker-compose命令的用途實際上廣泛得多。使用此命令可以:構建映像、擴展容器、修復容器、查看容器的輸出、列出容器的公共端口等等。
那么如何使用docker-compose呢?不妨一探究竟。
如何安裝Docker Compose?
即使你已經在服務器上安裝了Docker,也很可能沒有安裝Docker Compose。要安裝Docker Compose,執(zhí)行以下命令:
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容器部署到你的特定環(huán)境。假設你想部署Wordpress容器。先使用以下命令創(chuàng)建一個新目錄:
mkdir ~/wordpressbuild
使用以下命令切換到該新目錄:
cd ~/wordpressbuild
使用以下命令創(chuàng)建新的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: {}
保存并關閉該文件。
現(xiàn)在我們使用以下命令構建項目并在分離模式下部署容器:
docker-compose up –d
該命令將下載所有必需的映像(本例中是MySQL和Wordpress),然后在端口8000上部署該服務。可以將Web瀏覽器指向http://SERVER_IP:8000(其中SERVER_IP是托管服務器的IP地址),查看Wordpress安裝頁面(圖B)。
圖B. Wordpress安裝程序
如何檢查你的部署?
假設你想檢查來自部署的日志。為此,執(zhí)行以下命令:
docker-compose logs
你應該會看到來自上一次部署的大量信息(圖C)。
圖C. 查看來自Wordpress的docker-compose部署的日志
該命令將輸出大量信息(如果你部署了眾多容器更是如此)。相反,你可以指定要查看日志文件的服務。如何知道使用哪個服務名稱?檢查docker-compose.yml文件。在本文示例中,我們有兩個服務:
- db:數(shù)據庫
- wordpress:Wordpress容器
因此,如果你只想查看wordpress服務的日志,那么該命令將是:
docker-compose logs wordpress
你也可以查看日志的輸出(就像使用tail命令那樣),如下所示:
docker-compose logs -f wordpress
只要wordpress服務的新信息記入日志,就會出現(xiàn)在終端窗口中(圖D)。
圖D. 查看wordpress服務日志
如果你忘了部署中使用哪些端口,該怎么辦?可以查看docker-compose.yml文件,也可以將port選項與docker-compose命令一起使用。你要知道服務的內部命令。比如說,Wordpress默認使用端口80,因此我們知道這是內部端口。但我們將什么分配為面向網絡的端口?用以下命令查清楚:
docker-compose port wordpress 80
該命令的輸出將顯示我們將內部端口80映射到外部端口8000(圖E)。
圖E. Wordpress的端口映射
如果你記不得已部署的容器,可以執(zhí)行命令:
docker-compose ps
輸出會列出已部署的每個容器(圖F)。
圖F. 容器列表
剛剛開始
這應該讓你可以開始領略Docker Compose的強大功能。我們會在下一篇文章中細述docker-compose.yml文件,弄清楚如何構建自己的容器。
原文標題:How to use the docker-compose command,作者:Jack Wallen
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
用Jenkins+Docker+Maven+Git實現(xiàn)持續(xù)集成(超詳細)
本文通過較大的篇幅詳細介紹了Harbor這款企業(yè)級docker管理工具的使用,并通過案例演示了如何在jenkins中配置任務集成Harbor,從而實現(xiàn)鏡像的構建推送與分發(fā),需要的朋友可以參考下2024-04-04docker-compose啟動mysql雙機熱備互為主從的方法實現(xiàn)
本文主要介紹了docker-compose啟動mysql雙機熱備互為主從的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07Docker安裝Nacos單機的實現(xiàn)方式(配合寶塔)
這篇文章主要介紹了Docker安裝Nacos單機的實現(xiàn)方式(配合寶塔),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-06-06Docker安裝MySQL并使用Navicat連接的使用示例
在Docker里運行MySQL的方式還是很方便的,本文主要介紹了Docker安裝MySQL并使用Navicat連接的使用示例,具有一定的參考價值,感興趣的可以了解一下2023-10-10使用 Docker 在 Ubuntu 上部署 FTP 服務器
本文詳細介紹了如何在Ubuntu系統(tǒng)上通過Docker部署FTP服務器的步驟,包括安裝Docker、拉取vsftpd鏡像以及運行FTP容器等,通過這些步驟,用戶可以在提供的免費云服務器上快速搭建起一個安全高效的FTP服務,適合小型項目或個人使用,感興趣的朋友跟隨小編一起看看吧2024-10-10