最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker?Compose常用命令總結(jié)大全

 更新時間:2025年06月10日 09:36:06   作者:教Linux的李老師  
docker-compose是一個用于定義和運行多容器Docker應(yīng)用的工具,這篇文章主要介紹了Docker?Compose常用命令總結(jié)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

安裝docker-comose

docker20.10+ 之后的版本,默認支持docker compose命令,無需再額外安裝docker-compose程序.

# 聲明版本
VER=2.35.1

# 下載二進制程序
wget -c https://github.com/docker/compose/releases/download/v$VER/docker-compose-linux-x86_64

# 創(chuàng)建bin目錄
mkdir -p $HOME/bin

# 移動到bin
mv docker-compose-linux-x86_64 ./bin/docker-compose

# 授予執(zhí)行權(quán)限
chmod +x ./bin/docker-compose

# 查看docker-compose版本
docker-compose -v

docker-compose配置文件及常用指令

Docker Compose 使用 YAML 文件來定義多服務(wù)的應(yīng)用。YAML 是 JSON 的一個子集,因此也可以使用JSON。

Docker Compose 默認使用文件名 docker-compose.yml。當然,也可以使用 -f 參數(shù)指定具體文件。

yaml 文件級

Docker Compose 的 YAML 文件包含 4 個一級 key:version、services、networks、volumes

  • version 是必須指定的,而且總是位于文件的第一行。它定義了 Compose 文件格式(主要是 API)的版本。注意,version 并非定義 Docker Compose 或 Docker 引擎的版本號。
  • services 用于定義不同的應(yīng)用服務(wù)。上邊的例子定義了兩個服務(wù):一個名為 lagou-mysql數(shù)據(jù)庫服 務(wù)以及一個名為lagou-eureka的微服。Docker Compose 會將每個服務(wù)部署在各自的容器中。
  • networks 用于指引 Docker 創(chuàng)建新的網(wǎng)絡(luò)。默認情況下,Docker Compose 會創(chuàng)建 bridge 網(wǎng)絡(luò)。 這是一種單主機網(wǎng)絡(luò),只能夠?qū)崿F(xiàn)同一主機上容器的連接。當然,也可以使用 driver 屬性來指定不 同的網(wǎng)絡(luò)類型。
  • volumes 用于指引 Docker 來創(chuàng)建新的卷。

docker-compose.yml配置文件示例

services: # 定義服務(wù)
  confluence: # 定義 confluence 服務(wù)
    #  8.5.19 長期維護版本
    #  9.2.1 最新版本
    image: omaidb/confluence:8.5.19 # 使用的confluence長期維護版 鏡像及其版本
    container_name: confluence-srv # 容器名稱
    environment: # 設(shè)置環(huán)境變量
      - TZ=Asia/Shanghai # 設(shè)置時區(qū)為上海
    #      - JVM_MINIMUM_MEMORY=1g # JVM 最小內(nèi)存
    #      - JVM_MAXIMUM_MEMORY=12g # JVM 最大內(nèi)存
    #      - JVM_CODE_CACHE_ARGS='-XX:InitialCodeCacheSize=1g -XX:ReservedCodeCacheSize=8g' # JVM 代碼緩存參數(shù)

    # 定義服務(wù)依賴
    depends_on:
      - postgres # 依賴 postgres 服務(wù)
    ports: # 映射端口
      - "80:8090" # 將宿主機的 8090 端口映射到容器的 8090 端口
    volumes: # 定義數(shù)據(jù)卷
      - home_data:/var/confluence # 將數(shù)據(jù)卷掛載到容器的 /var/confluence 目錄
    restart: always # 設(shè)置容器始終重啟策略
    networks: # 指定網(wǎng)絡(luò)
      - network-bridge # 使用 network-bridge 網(wǎng)絡(luò)

  # 定義名為 postgres 的服務(wù)
  postgres:
    image: postgres:15.4 # 使用 postgres 15.4 版本的鏡像
    container_name: postgres-confluence # 容器名稱
    healthcheck: # 健康檢查配置
      test: ["CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root"] # 檢查 PostgreSQL 服務(wù)是否可用
      timeout: 45s # 健康檢查的超時時間為 45 秒
      interval: 10s # 健康檢查的間隔時間為 10 秒
      retries: 10 # 健康檢查失敗后重試的次數(shù)為 10 次

    environment: # 定義環(huán)境變量
      - TZ=Asia/Shanghai # 設(shè)置時區(qū)為上海
      - POSTGRES_USER=root # PostgreSQL 的默認用戶名為 root
      - POSTGRES_PASSWORD=123456 # PostgreSQL 的默認密碼為 123456
      - APP_DB_USER=confluence # 應(yīng)用程序的數(shù)據(jù)庫用戶名為 confluence
      - APP_DB_PASS=123456 # 應(yīng)用程序的數(shù)據(jù)庫密碼為 123456
      - APP_DB_NAME=confluence # 應(yīng)用程序的數(shù)據(jù)庫名稱為 confluence
    volumes: # 定義數(shù)據(jù)卷
      # - ./db:/docker-entrypoint-initdb.d/ # 將本地 ./db 目錄掛載到容器的 /docker-entrypoint-initdb.d/ 目錄
      - postgres_data:/var/lib/postgresql/data # 將本地 /data/postgres 目錄掛載到容器的 /var/lib/postgresql/data 目錄
    ports: # 定義端口映射
      - 5432:5432 # 將本地的 5432 端口映射到容器的 5432 端口
    restart: always # 服務(wù)失敗時總是重啟
    networks: # 指定網(wǎng)絡(luò)
      - network-bridge # 使用 network-bridge 網(wǎng)絡(luò)

networks: # 定義網(wǎng)絡(luò)
  network-bridge: # 定義名為 network-bridge 的網(wǎng)絡(luò)
    driver: bridge # 使用 bridge 驅(qū)動

volumes: # 定義數(shù)據(jù)卷
  home_data: # 定義名為 home_data 的數(shù)據(jù)卷
    external: false # 數(shù)據(jù)卷為內(nèi)部創(chuàng)建
  postgres_data: # 定義名為 postgres_data 的數(shù)據(jù)卷
    external: false # 數(shù)據(jù)卷為內(nèi)部創(chuàng)建

docker compose常用命令

命令 (Command)主要功能 (Description)常用選項 (Common Options)示例 (Example)
up構(gòu)建、(重新)創(chuàng)建、啟動并關(guān)聯(lián)服務(wù)相關(guān)的容器。-d: 后臺運行 (Detached mode) --build: 強制重新構(gòu)建鏡像 --force-recreate: 強制重新創(chuàng)建容器 --no-deps: 不啟動鏈接的服務(wù)docker-compose up -d docker-compose up --build docker-compose up <service_name>
down停止并移除容器、網(wǎng)絡(luò)、卷和鏡像。-v--volumes: 同時移除數(shù)據(jù)卷 --rmi <type>: 移除鏡像 (all 或 local--remove-orphans: 移除未在 compose 文件中定義的服務(wù)的容器docker-compose down docker-compose down -v
start啟動已經(jīng)存在的服務(wù)容器。docker-compose start <service_name> docker-compose start
stop停止正在運行的服務(wù)容器,但不刪除它們。-t, --timeout <seconds>: 停止超時時間 (默認 10s)docker-compose stop <service_name> docker-compose stop
restart重啟服務(wù)容器。-t, --timeout <seconds>: 重啟/停止超時時間docker-compose restart <service_name> docker-compose restart
ps列出 Compose 項目中的容器。-q: 只顯示容器 ID --services: 只列出服務(wù)名稱 -a--all: 顯示所有容器 (包括已停止的)docker-compose ps docker-compose ps -q
logs查看服務(wù)容器的日志輸出。-f--follow: 持續(xù)跟蹤日志輸出 --tail <N>: 顯示最后 N 行日志 -t--timestamps: 顯示時間戳docker-compose logs -f <service_name> docker-compose logs --tail 50
build構(gòu)建或重新構(gòu)建服務(wù)的鏡像。--no-cache: 構(gòu)建鏡像時不使用緩存 --pull: 始終嘗試拉取更新的基礎(chǔ)鏡像docker-compose build <service_name> docker-compose build --no-cache
pull拉取服務(wù)依賴的鏡像。--ignore-pull-failures: 拉取失敗時繼續(xù) -q--quiet: 只顯示進度,不輸出詳細信息docker-compose pull docker-compose pull <service_name>
exec在正在運行的容器中執(zhí)行命令。-d: 分離模式運行 -T: 禁用偽 TTY 分配 (例如用于管道) -u--user <user>: 指定用戶docker-compose exec <service_name> bash docker-compose exec -T db psql -U user -d dbname
run在新容器中運行一次性命令。--rm: 命令結(jié)束后移除容器 -e <KEY=VAL>: 設(shè)置環(huán)境變量 -v <host:cont>: 掛載卷 --service-ports: 映射服務(wù)端口docker-compose run --rm web python manage.py migrate docker-compose run -e DEBUG=1 web
config驗證和查看 Compose 文件配置。-q--quiet: 只驗證配置,無錯誤時不輸出 --services: 打印服務(wù)名稱列表 --volumes: 打印卷名稱列表docker-compose config docker-compose config -q
rm刪除已停止的服務(wù)容器。-f--force: 強制刪除 -s--stop: 在刪除前先停止容器 -v: 同時刪除關(guān)聯(lián)的匿名卷docker-compose rm docker-compose rm -fsv
pause暫停服務(wù)中的容器進程 (利用 cgroup freezer)。docker-compose pause <service_name>
unpause恢復服務(wù)中被暫停的容器進程。docker-compose unpause <service_name>
kill通過發(fā)送 SIGKILL 信號強制停止服務(wù)容器。-s <signal>: 指定發(fā)送的信號 (默認 SIGKILL)docker-compose kill <service_name> docker-compose kill -s SIGTERM web

通用選項 (Global Options):

  • -f, --file <filename>: 指定一個或多個 Compose 配置文件 (默認為 docker-compose.yml)。
  • -p, --project-name <name>: 指定項目名稱 (默認為當前目錄名)。
  • --profile <profile_name>: 激活指定配置文件的服務(wù)。

啟動服務(wù)

  • 啟動服務(wù)
# 前臺啟動服務(wù)
docker compose up

## -d 守護進程
docker compose up -d
  • 啟動服務(wù)
# 啟動服務(wù)
docker compose start

停止服務(wù)

  • 停止服務(wù)
# 停止服務(wù)
docker compose down
  • 停止服務(wù)
# 停止已運行的服務(wù)
docker compose stop

重啟服務(wù)

  • 重啟服務(wù)
# 重啟服務(wù)
docker compose restart

查看運行容器列表

  • 列出所有運行容器
# 列出所有運行容器
docker compose ps

## -a 包括停止的容器
docker compose ps

查看服務(wù)日志

  • 查看服務(wù)日志
# 查看服務(wù)日志
docker compose logs <服務(wù)名>

構(gòu)建鏡像

  • 構(gòu)建
# 構(gòu)建或者重新構(gòu)建服務(wù)
docker compose build

docker-compose rm刪除

# 刪除已停止的服務(wù)容器
docker compose rm
參數(shù)解釋
-f, --force不要求確認刪除
-s, --stop如果需要,請在刪除之前停止容器
-v, --volumes刪除附加到容器的所有匿名卷

總結(jié) 

到此這篇關(guān)于Docker Compose常用命令總結(jié)大全的文章就介紹到這了,更多相關(guān)Docker Compose常用命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解ASP.NET Core Docker部署

    詳解ASP.NET Core Docker部署

    這篇文章主要介紹了詳解ASP.NET Core Docker部署。詳細介紹了如何在Docker容器中運行ASP.NET Core應(yīng)用程序。有興趣的可以了解一下。
    2016-12-12
  • 利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服

    利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服

    Maven大家應(yīng)該都比較熟了,我這里就用安卓人狂喜的Gradle來演示一下,在build.gradle中編寫腳本即可上傳,接下來通過本文給大家介紹下利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服的問題,感興趣的朋友一起看看吧
    2022-01-01
  • 使用Docker容器備份GitLab完整過程

    使用Docker容器備份GitLab完整過程

    在升級或維護 GitLab 自管理實例之前,備份是保障數(shù)據(jù)安全的關(guān)鍵步驟,本文將介紹如何在 Docker 容器環(huán)境下創(chuàng)建 GitLab 的完整備份與數(shù)據(jù)庫備份,并說明 secrets 文件的重要性,需要的朋友可以參考下
    2025-12-12
  • Docker容器時間與宿主機不一致的解決方案

    Docker容器時間與宿主機不一致的解決方案

    在日常開發(fā)和運維工作中,許多開發(fā)者在使用 Docker 時會遇到一個常見問題:容器內(nèi)的時間比宿主機慢了 8 小時,這種情況尤其在中國地區(qū)(使用東八區(qū)時間)更為常見,本文給大家介紹了Docker容器時間與宿主機不一致的三種解決方案,需要的朋友可以參考下
    2025-05-05
  • Docker部署springboot項目到騰訊云的實現(xiàn)步驟

    Docker部署springboot項目到騰訊云的實現(xiàn)步驟

    本文主要介紹了Docker部署springboot項目到騰訊云的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • 淺談Docker運行Tensorboard和jupyter的方法

    淺談Docker運行Tensorboard和jupyter的方法

    本篇文章主要介紹了淺談Docker 運行Tensorboard 和 jupyter的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Docker如何部署SQL?Server?2017?Always?On集群

    Docker如何部署SQL?Server?2017?Always?On集群

    這篇文章主要介紹了Docker如何部署SQL?Server?2017?Always?On集群問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Docker的安裝方法及運行Docker Swarm模式的使用

    Docker的安裝方法及運行Docker Swarm模式的使用

    本文給大家簡單介紹docker的安裝以及1.12版本的swarm模式的使用,包括docker的安裝和配置,對docker swarm簡單使用感興趣的朋友一起看看吧
    2016-11-11
  • 如何給Docker配置網(wǎng)絡(luò)代理

    如何給Docker配置網(wǎng)絡(luò)代理

    文章講述了如何為Docker配置代理,包括守護進程dockerd、容器運行和構(gòu)建時的代理配置方法,并強調(diào)了不同場景下的適用性
    2024-11-11
  • docker之更新jar問題

    docker之更新jar問題

    這篇文章主要介紹了docker之更新jar問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論

炉霍县| 晋城| 莱阳市| 阳曲县| 黔东| 贵南县| 军事| 太和县| 施秉县| 县级市| 育儿| 日土县| 太谷县| 茌平县| 涪陵区| 鄂尔多斯市| 梁河县| 彭山县| 江源县| 拉萨市| 青川县| 东兴市| 红安县| 大余县| 蒙阴县| 六枝特区| 高雄县| 东平县| 灌南县| 光泽县| 平塘县| 观塘区| 定日县| 翁牛特旗| 蓬安县| 遂川县| 错那县| 廊坊市| 剑阁县| 寻乌县| 福清市|