您好,登錄后才能下訂單哦!
你可以通過多種方式來管理和部署Docker容器。你可以直接使用Docker命令、借助眾多GUI工具中的一款(基于Web的工具和面向桌面客戶端的工具),也可以選擇走docker-compose這條路。
Docker Compose是什么東東?Docker Compose用于創(chuàng)建容器及容器之間的連接。然而,docker-compose命令的用途實(shí)際上廣泛得多。使用此命令可以:構(gòu)建映像、擴(kuò)展容器、修復(fù)容器、查看容器的輸出、列出容器的公共端口等等。
那么如何使用docker-compose呢?不妨一探究竟。
如何安裝Docker Compose?
即使你已經(jīng)在服務(wù)器上安裝了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
使用以下命令驗(yàn)證安裝:
docker-compose version
你應(yīng)該會看到幾個應(yīng)用程序的版本號(圖A)。
圖A. Docker Compose已安裝并準(zhǔn)備就緒
Docker文件
為了部署容器,Docker Compose依賴docker-compose.yml文件,該文件用于將Docker容器部署到你的特定環(huán)境。假設(shè)你想部署Wordpress容器。先使用以下命令創(chuàng)建一個新目錄:
mkdir ~/wordpressbuild
使用以下命令切換到該新目錄:
cd ~/wordpressbuild
使用以下命令創(chuàng)建新的Docker Compose文件:
nano docker-compose.yml
將以下內(nèi)容(取自官方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: {}
保存并關(guān)閉該文件。
現(xiàn)在我們使用以下命令構(gòu)建項(xiàng)目并在分離模式下部署容器:
docker-compose up –d
該命令將下載所有必需的映像(本例中是MySQL和Wordpress),然后在端口8000上部署該服務(wù)??梢詫eb瀏覽器指向http://SERVER_IP:8000(其中SERVER_IP是托管服務(wù)器的IP地址),查看Wordpress安裝頁面(圖B)。
圖B. Wordpress安裝程序
如何檢查你的部署?
假設(shè)你想檢查來自部署的日志。為此,執(zhí)行以下命令:
docker-compose logs
你應(yīng)該會看到來自上一次部署的大量信息(圖C)。
圖C. 查看來自Wordpress的docker-compose部署的日志
該命令將輸出大量信息(如果你部署了眾多容器更是如此)。相反,你可以指定要查看日志文件的服務(wù)。如何知道使用哪個服務(wù)名稱?檢查docker-compose.yml文件。在本文示例中,我們有兩個服務(wù):
因此,如果你只想查看wordpress服務(wù)的日志,那么該命令將是:
docker-compose logs wordpress
你也可以查看日志的輸出(就像使用tail命令那樣),如下所示:
docker-compose logs -f wordpress
只要wordpress服務(wù)的新信息記入日志,就會出現(xiàn)在終端窗口中(圖D)。
圖D. 查看wordpress服務(wù)日志
如果你忘了部署中使用哪些端口,該怎么辦?可以查看docker-compose.yml文件,也可以將port選項(xiàng)與docker-compose命令一起使用。你要知道服務(wù)的內(nèi)部命令。比如說,Wordpress默認(rèn)使用端口80,因此我們知道這是內(nèi)部端口。但我們將什么分配為面向網(wǎng)絡(luò)的端口?用以下命令查清楚:
docker-compose port wordpress 80
該命令的輸出將顯示我們將內(nèi)部端口80映射到外部端口8000(圖E)。
圖E. Wordpress的端口映射
如果你記不得已部署的容器,可以執(zhí)行命令:
docker-compose ps
輸出會列出已部署的每個容器(圖F)。
圖F. 容器列表
剛剛開始
這應(yīng)該讓你可以開始領(lǐng)略Docker Compose的強(qiáng)大功能。我們會在下一篇文章中細(xì)述docker-compose.yml文件,弄清楚如何構(gòu)建自己的容器。
原文標(biāo)題:How to use the docker-compose command,作者:Jack Wallen
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。