docker compose 指令

目錄

 

docker compose 和 docker-compose 的區別?

docker-compose 是用 Python 寫的,docker compose 是用 Go 重寫的,消息來源請看 Docker Compose vs Docker-Compose

如果用指令查看兩者的版本,可以看到目前 docker compose 還是 beta 測試版,官方建議它可在生產環境使用,不建議在正式環境使用。

docker-compose version and docker compose version

docker compose 希望在使用時,替換掉原本中間的 - 變成空格便能正常使用,因此它們大部分的用法都非常相似。

指令

要先打開 Docker,才可以下 docker 相關指令喔~

 docker compose --help 可觀看 docker compose 指令集,也可以用例如 docker compose up --help(up 可替換)指令,觀看該指令的詳細使用說明,和網頁版的文件相似,內含使用方法、Options 等。

大家不用全部記起來,要用的時候看一下這邊也可以的😎,每個指令都幫大家測試過了,其中用途和範例更是官方沒有的呢😄。

以下內容以名稱排序,可活用 目錄 查看喔。

build

  • 說明:Build or rebuild services.(構建或重建服務。)
  • 用途:如果更改了 Dockerfile 內容或其建構的目錄內容,運行指令以重建它。
  • 用法:docker compose build [SERVICE...]
  • 範例:docker compose build test --compress
  • 詳細使用說明

convert

  • 說明:Converts the compose file to platform’s canonical format.(將撰寫文件轉換為平台的規範格式。)
  • 用途:統一大家的 docker-compose.yml 文件格式成平台規範,運行後會輸出轉換過的內容。
  • 用法:docker compose convert [SERVICE...]
  • 範例:docker compose convert test
  • 輸出:

docker compose convert test

create

  • 說明:Creates containers for a service.(為服務創建容器。)
  • 用途:建立 service 的 container,類似 up,但不啟動。
  • 用法:docker compose create [SERVICE...]
  • 範例:docker compose create test
  • 詳細使用說明

down

  • 說明:Stop and remove containers, networks.(停止並移除容器、網絡。)
  • 用途:停止和解安裝 Compose 建置的東西。
  • 用法:docker compose down
  • 範例:docker compose down
  • 詳細使用說明

events

  • 說明:Receive real time events from containers.(從容器接收實時事件。)
  • 用途:輸入這個指令,當 Compose 發生某些事件時(docker events),將事件顯示在終端機,也支援輸出成 json 格式。
  • 用法:docker compose events [options] [--] [SERVICE...]
  • 範例:docker compose events --json
  • 輸出:

    docker compose events --json

  • 詳細使用說明

exec

  • 說明:Execute a command in a running container.(在正在運行的容器中執行命令。)
  • 用途:終端機進入運行中的容器,可用 control + D 離開。
  • 用法:docker compose exec [options] [-e KEY=VAL...] [--] SERVICE COMMAND [ARGS...]
  • 範例:docker compose exec test bash
  • 輸出:

    docker compose exec test bash

  • 詳細使用說明

images

  • 說明:List images used by the created containers.(列出創建的容器使用的 image。)
  • 用途:觀看 docker-compose.yml 使用到的 image,方便管理。
  • 用法:docker compose images [SERVICE...]
  • 範例:docker compose images
  • 輸出:

    docker compose images

  • 詳細使用說明

kill

  • 說明:Force stop service containers.(強制停止服務容器。)
  • 用途:比起 stop,更快速且強制的停止容器。
  • 用法:docker compose kill [options] [SERVICE...]
  • 範例:docker compose kill
  • 詳細使用說明

logs

  • 說明:View output from containers.(查看容器的輸出。)
  • 用途:假設你在 docker-compose.yml 的 command 寫了 echo 'aaa',那運行 logs 指令後,你將看到 aaa
  • 用法:docker compose logs [service...]
  • 範例:docker compose logs
  • 輸出:

    docker compose logs

  • 詳細使用說明

ls

  • 說明:List running compose projects.(列出正在運行的 compose 項目。)
  • 用途:查看運行中的 Docker Compose 狀態。
  • 用法:docker compose ls
  • 範例:docker compose ls
  • 輸出:

    docker compose ls

  • 詳細使用說明

pause

  • 說明:Pause services.(暫停服務。)
  • 用途:暫停運行中的服務,可用 unpause 繼續。
  • 用法:docker compose pause [SERVICE...]
  • 範例:docker compose pause test
  • 詳細使用說明

port

  • 說明:Print the public port for a port binding.(打印端口綁定的公共端口。)
  • 用途:顯示服務的私有端口(容器的端口)對應的公共端口(本機的端口)。
  • 用法:docker compose port [options] SERVICE PRIVATE_PORT
  • 範例:docker compose port test 18080
  • 輸出:

    docker compose port test 18080

  • 詳細使用說明

ps

  • 說明:List containers.(列出容器。)
  • 用途:列出 Compose 中的容器。
  • 用法:docker compose ps
  • 範例:docker compose ps
  • 輸出:

    docker compose ps

  • 詳細使用說明

pull

  • 說明:Pull service images.(拉取服務 image。)
  • 用途:獲取 Compose 中服務的 image。
  • 用法:docker compose pull [SERVICE...]
  • 範例:docker compose pull
  • 詳細使用說明

push

  • 說明:Push service images.(推送服務 image。)
  • 用途:上傳容器到 Docker Hub,1. 需要先用 docker login 登入,2. 需要在 Docker Hub 建立 repository,3. 需要在 docker-compose.yml 的 services 的容器裡加上
    build: .
    image: user_name/repository_name
  • 用法:docker compose push [SERVICE...]
  • 範例:docker compose push
  • 詳細使用說明

restart

  • 說明:Restart containers.(重啟容器。)
  • 用途:重新啟動 docker-compose.yml 中的服務。
  • 用法:docker compose restart [options] [SERVICE...]
  • 範例:docker compose restart
  • 詳細使用說明

rm

  • 說明:Removes stopped service containers.(刪除停止的服務容器。)
  • 用途:刪除停止的容器。
  • 用法:docker compose rm [SERVICE...]
  • 範例:docker compose rm
  • 詳細使用說明

run

  • 說明:Run a one-off command on a service.(對服務運行一次性命令。)
  • 用途:它相似於 docker run,可以啟動一個容器,但是以 docker-compose.yml 內的 service 設定為基礎。
  • 用法: docker compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l KEY=VALUE...] SERVICE [COMMAND] [ARGS...]
  • 範例:docker compose run --publish 8080:80 -p 2022:22 -p 127.0.0.1:2021:21 web python manage.py shell
  • 詳細使用說明

start

  • 說明:Start services.(啟動服務。)
  • 用途:它會啟動已經建置好的容器;即使 docker-compose.yml 改變也不會更新,請使用 up  create 來更新容器。
  • 用法:docker compose start [SERVICE...]
  • 範例:docker compose start
  • 詳細使用說明

stop

  • 說明:Stop services.(停止服務。)
  • 用途:停止已啟用的服務。
  • 用法:docker compose stop [SERVICE...]
  • 範例:docker compose stop
  • 詳細使用說明

top

  • 說明:Display the running processes.(顯示正在運行的進程。)
  • 用途:顯示 Compose 正在運行的進程資料。但不確定顯示的 PID 從何而來,若是您知道,請不吝指教,謝謝。
  • 用法:docker compose top
  • 範例:docker compose top
  • 輸出:

    docker compose top

  • 詳細使用說明

unpause

  • 說明:Unpause services.(取消暫停服務。)
  • 用途:如果容器被 pause 暫停了,可以用 unpause 繼續運行。
  • 用法: docker compose unpause [SERVICE...]
  • 範例:docker compose unpause
  • 詳細使用說明

up

  • 說明:Create and start containers.(創建和啟動容器。)
  • 用途:根據 Compose 更新容器並啟動,可用 -d 背景執行。
  • 用法:docker compose up [SERVICE...]
  • 範例:docker compose up -d
  • 詳細使用說明

參考資料

推薦文章

Docker

⭐️ 全民寫程式 | 好用的 Docker 容器 | Docker Desktop 使用教學 | 程式開發最佳輔助工具

⭐️ 全民寫程式 | Dockerfile 使用方式 | Dockerfile usage

⭐️ 全民寫程式 | Docker | Compose 介紹 安裝

⭐️ 全民寫程式 | Docker | Compose | docker compose 指令 | docker compose vs docker-compose

全民寫程式:初學者天堂

⭐️ 全民寫程式 | 程式語法好多喔,我記不起來怎麼辦?

⭐️ 全民寫程式 | 我想學程式設計,但是英文不好怎麼辦?

⭐️ 全民寫程式 | 這不是必要,但學會 Linux 絕對會讓您更有競爭力

⭐️ 全民寫程式|小網址大學問|IP、Port 介紹|網際網路和區域網路|常用本地網址

⭐️ 全民寫程式|小網址大學問|DNS|域名系統|頂級域名、一級域名是什麼?

全民寫程式:進階

⭐️ 全民寫程式|Oh My Zsh|安裝、主題、插件|終端機優化|終端機美化

⭐️ 全民寫程式 | Python | pyenv-virtualenv 教學(安裝篇)

⭐️ 全民寫程式 | Python | pyenv-virtualenv 教學(介紹篇)

⭐️ 全民寫程式|Python|PSD 圖層逐一輸出成圖片

⭐️ WordPress 網站架設大補帖 | 自動化備份系統 | 營運網站實際備份案例分享 | 資料庫備份 | 異地備援

⭐️ WordPress 網站架設大補帖 | WordPress 網站搬移基礎步驟 | WordPress 網站切換域名的方法

⭐️ 【法務】全民寫程式 | 專案管理 | 授權很重要 | 不可不知的 Open Source License | 安全地在巨人肩膀上寫程式

⭐️ 網頁開發 | 降低 Youtube 載入時間 | 提升痞客邦網頁載入速度

⭐️ 網頁開發 | 閱讀進度條實作 | jQuery精簡版

⭐️ 如何把 Google 相簿的圖片鑲嵌在網頁上?|用 Google 相簿做網頁外部圖片

⭐️ 如何在痞客邦文章使用畫質更高的圖片?

⭐️ 痞客邦語法 設定雙欄式列表

 


希望您喜歡首陽的文章,也希望您可以幫首陽~
按火箭20次🚀
留言支持📝
轉發分享
🌸 非常感謝您 🌸

arrow
arrow
    創作者介紹
    創作者 首陽 的頭像
    首陽

    首陽問路

    首陽 發表在 痞客邦 留言(3) 人氣()