簡介
docker-compose 是容器編排工具,使用 YAML 作為配置文件,根據配置啟動、停止、重啟一組容器。
安裝
// 下載 docker-compose 可執行文件(需要管理員權限)
sudo curl -L https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
// 給可執行文件賦予執行權限(需要管理員權限)
sudo chmod +x /usr/local/bin/docker-compose
安裝中遇到過得問題及解決辦法
使用
sudo
將可執行文件下載到/usr/local/bin
目錄下還是提示權限不足
可以將可執行文件下載到有權限的目錄,然后再使用sudo
將可執行文件再移動到/usr/local/bin
下載后執行 docker-compose 命令提示版本不正確
前往 docker-compose 下載頁面 選擇適合當前 docker 版本的 docker-compose
docker-compose.yml 例子
最基礎的 ExpressJS + MongoDB 組成的 web 應用
mongodb: // 容器名
image: mongo:3.0.7 // 使用的鏡像
volumes:
- ./mongodb/data/db:/data/db // 掛在目錄,宿主機目錄:容器內目錄
ports:
- 27017:27017 // 端口映射,宿主機端口:容器內端口
command: /bin/bash -c "mongod" // 容器啟動命令
nodejs:
image: nodejs:5.1.0
volumes:
- ./nodejs/code:/code
ports:
- 3000:3000
command: /bin/bash -c "cd /code && npm install && npm start"
docker-compose 常用命令
所有命令必須在包含 docker-compose.yml 目錄下運行
// 后臺啟動容器
docker-compose up -d // 修改 docker-compose.yml 后再次運行會重新構建啟動有修改的容器
// 停止容器
docker-compose stop
// 重啟容器
docker-compose restart
// 刪除容器
docker-compose rm // 出現刪除確認提示,y: 確認刪除,n: 取消刪除