使用 Docker Compose 管理多個容器
使用 Docker Compose 管理多個容器
** 學習Docker的過程中,會發現,當容器之間存在依賴關係的時候,會出現啟動先後順序的問題,還有多個容器同時啟動,需要打多條命了,顯得非常繁瑣。使用Docker Compose , 可以做到一鍵啟動多個容器。**
-
** Docker Compose 是一個用來定義和執行的複雜應用的Docker工具,使用Compose,你可以在一個檔案中,定義多容器應用,然後使用一條命令來啟動你的應用,完成一切準備工作。
-
github.com/docker/compose
**
-
** 一個使用Docker容器的應用,通常由多個容器組成,使用Docker Compose , 不在需要使用 shell指令碼來啟動容器,在配置檔案中,所有的容器通過 service 來定義,然後使用 docker-compose 指令碼來啟動、停止和重啟應用,和應用中的服務以及所有依賴服務的容器.**
完整的命了列表如下:
命令 | 說明 |
---|---|
build | 構建活重建服務 |
help | 命令幫助 |
kill | 殺掉容器 |
logs | 顯示容器的輸出內容 |
port | 列印繫結的開放埠 |
ps | 顯示容器 |
pull | 拉去服務映象 |
restart | 重啟服務 |
rm | 刪除停止的容器 |
run | 執行一個一次性命令 |
scale | 設定伺服器的容器數目 |
start | 開啟服務 |
stop | 停止服務 |
up | 建立並啟動容器 |
參考 https://docs.docker.com/compose/install/
。你能執行Compose在OSX和64位Linux上。當前不支援Windows作業系統。
** 安裝Docker Compose **
curl -L https://github.com/docker/compose/releases/download/1.4.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod 777 /usr/local/bin/docker-compose
** 配置檔案 **
1、Compose的配置檔案是 docker-compose.yml
。讓我們看看下面這個檔案:
mysqldb:
image:[classroom.example.com:5000/]mysql
environment:
MYSQL_DATABASE:sample
MYSQL_USER:mysql
MYSQL_ROOT_PASSWORD:supersecret
mywildfly:
image:[classroom.example.com:5000|arungupta]/wildfly-mysql-javaee7
links:
- mysqldb:db
ports:
- 8080
** 說明: **
a、定義了兩個服務,分別叫 mysqldb
和 mywildfy
b、使用 image
定義了每個伺服器的映象名
c、MySQL容器的環境變數定義在 environment
d、MySQL容器使用links
和WildFly容器連結
e、使用ports
使用埠轉發
** 啟動服務 **
1、如果你從網際網路執行,將docker-compose-internet.yml
儲存為docker-compose.yml
。
2、如果你使用教師給的映象,將docker-compose-instructor.yml
儲存為 docker-compose.yml
。
3、使用下面的命令,所有的服務將使用後臺模式被動啟動
docker-compose up -d
** 顯示的輸出如下: **Creating attendees_mysqldb_1... Creating attendees_mywildfly_1...
使用-f
指定代替的compose檔案。
使用-p
指定代替compose檔案所在的目錄。
** 驗證服務是否啟動 **docker-compose ps
輸出結果
這裡提供了一個整合的列表顯示所有啟動的服務和容器。
同時,通常使用docker ps
命令驗證應用的容器,和在Docker主機執行的其他容器。
- 查詢伺服器日誌。
- 驗證應用
- 擴充套件服務
你可以像這樣擴充套件服務:
docker-compose scale mywildfly=4
Creating and starting 2... done
Creating and starting 3... done
Creating and starting 4... done
檢查日誌:
docker-compose logs
檢查執行的例項:
docker-compose ps
Name Command Start Ports
相關文章
- 使用docker-compose管理freeswitch容器Docker
- 1.06 docker Compose多容器部署Docker
- Docker Compose 多容器應用Docker
- 使用 makefile 管理 docker-composeDocker
- 使用docker compose一鍵啟動多個應用Docker
- Docker 容器編排利器 Docker ComposeDocker
- 用 Podman Compose 管理容器
- Docker compose的使用Docker
- Docker - 03 編排容器 Docker Compose 指令速查表Docker
- 容器技術|Docker三劍客之docker-composeDocker
- .NET Core容器化之多容器應用部署(Docker-Compose)Docker
- 8 個基本的 Docker 容器管理命令Docker
- Docker的容器管理Docker
- 容器管理的 9 個最佳 Docker 替代方案Docker
- 如何使用RubyMine中的Docker / Docker Compose?Docker
- docker-compose 使用例項Docker
- Docker折騰記: (2)基於docker-compose構建yapi容器DockerAPI
- Dockerfile指令與Docker-compose容器編排-搭建docker私有倉庫Docker
- 使用Docker安裝Odoo 17(非Docker Compose)DockerOdoo
- 7、docker-compose安裝使用Docker
- 關於docker-Compose基本使用Docker
- 使用啄木鳥CI部署Docker/ComposeDocker
- 【Docker】第三篇 Docker容器管理Docker
- docker composeDocker
- Docker 和 Docker ComposeDocker
- 在Linux中,如何使用Docker和Kubernetes管理容器?LinuxDocker
- 如何使用 jacoco 統計多個 docker 容器服務的測試覆蓋率Docker
- Docker筆記(六):容器管理Docker筆記
- 常用的 Docker 容器管理命令Docker
- Dockerfile與docker-compose容器編排(Docker系列第3章,共3章)Docker
- Docker compose 部署前後端-----採用nginx代理,支援一個埠部署多個前端Docker後端Nginx前端
- 開始使用DOCKER COMPOSE V2Docker
- Docker:Docker Compose 詳解Docker
- docker-compose 啟動容器後秒退問題小記Docker
- Docker 多容器編排Swarm(六)DockerSwarm
- docker compose 用法Docker
- Docker Compose fileDocker
- Docker Compose 案例Docker