目錄
docker compose 和 docker-compose 的區別?
docker-compose 是用 Python 寫的,docker compose 是用 Go 重寫的,消息來源請看 Docker Compose vs Docker-Compose。
如果用指令查看兩者的版本,可以看到目前 docker compose 還是 beta 測試版,官方建議它可在生產環境使用,不建議在正式環境使用。
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
- 輸出:
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
- 輸出:
- 詳細使用說明
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
- 輸出:
- 詳細使用說明
images
- 說明:List images used by the created containers.(列出創建的容器使用的 image。)
- 用途:觀看
docker-compose.yml
使用到的 image,方便管理。 - 用法:
docker compose images [SERVICE...]
- 範例:
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
- 輸出:
- 詳細使用說明
ls
- 說明:List running compose projects.(列出正在運行的 compose 項目。)
- 用途:查看運行中的 Docker Compose 狀態。
- 用法:
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
- 輸出:
- 詳細使用說明
ps
- 說明:List containers.(列出容器。)
- 用途:列出 Compose 中的容器。
- 用法:
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
- 輸出:
- 詳細使用說明
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 教學(介紹篇)
⭐️ WordPress 網站架設大補帖 | 自動化備份系統 | 營運網站實際備份案例分享 | 資料庫備份 | 異地備援
⭐️ WordPress 網站架設大補帖 | WordPress 網站搬移基礎步驟 | WordPress 網站切換域名的方法
⭐️ 【法務】全民寫程式 | 專案管理 | 授權很重要 | 不可不知的 Open Source License | 安全地在巨人肩膀上寫程式
⭐️ 網頁開發 | 降低 Youtube 載入時間 | 提升痞客邦網頁載入速度
⭐️ 如何把 Google 相簿的圖片鑲嵌在網頁上?|用 Google 相簿做網頁外部圖片
希望您喜歡首陽的文章,也希望您可以幫首陽~
按火箭20次🚀
留言支持📝
轉發分享
🌸 非常感謝您 🌸
留言列表