溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker-compose基礎(一)

發布時間:2020-08-02 09:14:06 來源:網絡 閱讀:267 作者:IdealReality 欄目:云計算

docker-compose是一個用于定義和運行多容器Docker應用程序的工具。使用Compose,可以使用YAML文件來配置應用程序的服務。然后,使用單個命令,可以從配置中創建并啟動所有服務。

docker-compose步驟

  1. 使用Dockerfile定義應用程序的環境.
  2. docker-compose.yml中定義構成應用程序的服務.
  3. 運行docker-compose up啟動并運行整個應用程序。

安裝compose

  1. 下載當前穩定版本并賦予執行權限
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose
  1. 設置環境變量
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
#或者:
vim /etc/profile
export COMPOSE=/usr/local/bin/
export PATH=$COMPOSE:$PATH

#執行: source /etc/profile 生效.

更新

從版本1.3開始,Compose使用Docker標簽來跟蹤容器,并且需要重新創建容器以添加標簽。 如果Compose檢測到沒有標簽創建的容器,它將拒絕運行.

卸載

sudo rm /usr/local/bin/docker-compose
#或者:
pip uninstall docker-compose

compose命令詳解

build命令
Usage: build [options] [--build-arg key=val...] [SERVICE...]
選項: 
--compress    使用gzip壓縮構建上下文
--force-rm    始終移除中間容器
--no-cache    構建鏡像時不要使用緩存
--pull       拉取最新版本的鏡像
-m, --memory MEM  設置構建容器的內存限制
--build-arg key=val   設置服務的構建時候的變量
 --parallel      并行構建鏡像

注意: 如果更改服務的Dockerfile,請運行docker-compose build進行重建。

bundle命令
Usage: bundle [options]
選項:
--push-images   自動推送構建以后的服務的鏡像
-o, --output PATH   將包文件寫入的路徑
config命令
Usage: config [options]
選項:
--resolve-image-digests  鏡像摘要的標記
--no-interpolate        不要插入環境變量
-q, --quiet      僅驗證配置,不打印任何內容
--services    打印服務名稱,每行一個
--volumes     打印存儲卷名稱,每行一個

--hash="*"    打印服務配置哈希,每行一個。設置“service1,service2”以獲取指定服務的列表或使用通配符來顯示所有服務。
create命令
為服務創建容器
Usage: create [options] [SERVICE...]
選項: 
--force-recreate    即使沒有更改配置,也要重新創建容器
--no-recreate    如果容器已存在,請不要重新創建。
--no-build     即使容器丟失,也不要構建鏡像.
 --build    在創建容器之前構建鏡像
down命令
Usage: down [options]
選項:
--rmi type   刪除鏡像。類型:                               
            'all':刪除任何服務使用的所有圖像。                    
            'local':僅刪除沒有的圖像                               
            自定義標簽由image字段設置。

-v, --volumes   刪除volumes中聲明的存儲卷
--remove-orphans  刪除沒有在文件中定義的服務的容器
-t, --timeout TIMEOUT 以秒為單位指定關閉超時(默認10s)

默認刪除的內容:在Compose文件中定義的服務的容器和定義的服務的網絡.

注意:永遠不會刪除定義為外部的網絡和卷.:

events命令
Usage: events [options] [SERVICE...]
選項:
--json   將事件輸出為json對象流
exec命令
Usage: exec [options] [-e KEY=VAL...] SERVICE COMMAND [ARGS...]
選項:
-d, --detach    在后臺運行命令
--privileged    為進程提供擴展權限
-u, --user USER 以該用戶身份運行該命令
-T  禁用偽tty分配。默認情況下`docker-compose exec`分配TTY

--index=index   容器的索引.
-e, --env KEY=VAL  設置環境變量
-w, --workdir DIR   此命令的workdir目錄的路徑
images命令
Usage: images [options] [SERVICE...]
選項:
-q, --quiet   僅顯示ID
kill命令
Usage: kill [options] [SERVICE...]
選項:
-s SIGNAL   SIGNAL信號發送到容器,默認信號是SIGKILL

通過發送SIGKILL信號強制運行容器停止:
docker-compose kill -s SIGINT
logs命令
Usage: logs [options] [SERVICE...]
選項:
--no-color  產生單色輸出
-f, --follow    按照日志輸出
-t, --timestamps    顯示時間戳
--tail="all"    每個容器的日志末尾顯示的行數
pause命令
Usage: pause [SERVICE...]
暫停運行服務的容器: docker-compose unpause
port命令
Usage: port [options] SERVICE PRIVATE_PORT
選項:
--protocol=proto     tcp或udp.默認是tcp
--index=index       容器的索引.
ps命令
Usage: ps [options] [SERVICE...]
選項:
-q, --quiet  僅顯示id
--services   顯示服務
--filter KEY=VAL  按屬性過濾服務
-a, --all   顯示所有已停止的容器
pull命令
Usage: pull [options] [SERVICE...]
--ignore-pull-failures  拉取鏡像失敗時忽略
--parallel  并行拉取鏡像
--no-parallel   禁用并行拉取鏡像
-q, --quiet     拉取鏡像時不打印進度信息
--include-deps  將服務聲明為依賴項
push命令
Usage: push [options] [SERVICE...]
選項:
--ignore-push-failures   推送鏡像失敗時忽略
restart命令
Usage: restart [options] [SERVICE...]
選項:
-t, --timeout TIMEOUT   以秒為單位指定關閉超時
rm命令
Usage: rm [options] [SERVICE...]
選項:
-f, --force  不要詢問是否刪除,強制刪除.
-s, --stop   在移除之前停止容器
-v     刪除附加到容器的存儲卷

列出所有卷,使用docker volume ls。 
任何不在卷中的數據都將丟失。

刪除已停止的服務容器。 默認情況下,不會刪除附加到容器的存儲卷
run命令
Usage:
    run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l KEY=VALUE...]  SERVICE [COMMAND] [ARGS...]
選項:
-d, --detach    在后臺運行容器,打印新容器名稱
--name NAME     為容器指定名稱
--entrypoint CMD    覆蓋鏡像的入口點
-e KEY=VAL     設置環境變量
-l, --label KEY=VAL 添加或覆蓋標簽(可多次使用)
-u, --user=""   以指定的用戶名或uid運行
--no-deps    不要啟動依賴的服務
--rm    運行后刪除容器
-p, --publish=[]    將容器的端口發布到主機
--service-ports 在啟用并映射服務端口的情況下運行命令給主機.
--use-aliases   在網絡中使用服務的網絡別名
-v, --volume=[] 綁定一個存儲卷
-w, --workdir=""    容器內的工作目錄

例如:
docker-compose run --service-ports web python manage.py shell
docker-compose run --publish 8080:80 -p 2022:22 -p 127.0.0.1:2021:21 web python manage.py shell
docker-compose run db psql -h db -U docker
docker-compose run --no-deps web python manage.py shell
scale命令
請使用帶有--scale標志的up命令。
Usage: scale [options] [SERVICE=NUM...]
選項:
-t, --timeout TIMEOUT   以秒為單位指定關閉超時

設置要為服務運行的容器數。 數字以service = num的形式指定為參數:
docker-compose scale web=2 worker=3
start命令
Usage: start [SERVICE...]
啟動服務的現有容器
stop命令
Usage: stop [options] [SERVICE...]
-t, --timeout TIMEOUT   以秒為單位指定關閉超時
top命令
Usage: top [SERVICE...]
顯示運行的進程.
unpause命令
Usage: unpause [SERVICE...]
取消暫停服務的暫停容器
up命令
Usage: up [options] [--scale SERVICE=NUM...] [SERVICE...]
選項:
-d, --detach  在后臺運行容器,打印新的容器名稱
--no-color   產生單色輸出
--quiet-pull  拉取時不打印進度信息
--no-deps    不要啟動與這個服務依賴的其他服務
--force-recreate  即使配置也重新創建容器
--always-recreate-deps  重新創建依賴容器
--no-recreate   如果容器已存在,就不要創建.
--no-build    即使丟失,也不要構建鏡像.
--no-start  創建后不要啟動服務
--build     在啟動容器之前構建映像
--abort-on-container-exit   如果有任何容器停止,則停止所有容器
 -t, --timeout TIMEOUT  對容器使用此超時(以秒為單位)連接時或容器時關閉. 
-V, --renew-anon-volumes    重新創建存儲卷,不檢索之前容器的數據.
--remove-orphans    刪除未定義的服務的容器
--exit-code-from SERVICE  返回所選服務的退出代碼
--scale SERVICE=NUM  將SERVICE擴展到NUM個實例
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女