Docker compose 以及鏡像使用

Docker compose 以及鏡像使用

高級配置

使用 Docker Compose

Docker Compose 是一個用于定義和運行多容器 Docker 應用程序的工具。以下是一個 docker-compose.yml 示例:

version: '3'
services:
  web:
    image: my-app
    build: .
    ports:
      - "8000:8000"
    volumes:
      - .:/app
    environment:
      - ENV=production

運行 Docker Compose:

docker compose up -d

配置數據卷

數據卷用于持久化容器中的數據。例如,將主機的 /data 目錄掛載到容器的 /app/data 目錄:

docker run -d -p 8000:8000 -v /data:/app/data --name my-app-container my-app

1.3 配置網絡

Docker 支持自定義網絡,以便容器之間可以通信。

例如,創建一個自定義網絡并運行容器:

docker network create my-network
docker run -d --network my-network --name my-app-container my-app

鏡像的導出與導入

在 Docker 中,docker commitdocker savedocker load 是三個常用的命令,分別用于從容器生成鏡像、將鏡像保存為 tar 文件以及從 tar 文件加載鏡像。

以下是它們的詳細使用方法:

docker commit:從容器生成鏡像

docker commit 用于將容器的當前狀態保存為一個新的鏡像。這個命令適用于對容器進行修改后,希望將修改后的狀態保存為鏡像的場景。

  • 命令格式
docker commit [OPTIONS] <container_id> <new_image_name>:<tag>
  • 常用選項

  • -a:指定鏡像的作者。

  • -m:添加提交信息(類似于 Git 的 commit message)。

  • -p:在提交時暫停容器(默認行為)。

  • 示例
    假設容器 ID 是 abcd1234,將其保存為名為 my_custom_image 的鏡像,并打上 v1 標簽:

docker commit abcd1234 my_custom_image:v1
  • 驗證
    使用 docker images 查看新生成的鏡像:
docker images

docker save:將鏡像保存為 tar 文件

docker save 用于將一個或多個鏡像保存為 tar 歸檔文件,方便備份或遷移。

  • 命令格式
docker save [OPTIONS] IMAGE [IMAGE...]
  • 常用選項

  • -o:指定輸出文件的路徑和名稱。

  • -q:靜默模式,不輸出任何信息。

  • 示例
    my_custom_image:v1 鏡像保存為 my_image.tar 文件:

docker save -o my_image.tar my_custom_image:v1
  • 驗證
    使用 tar 命令查看 tar 文件內容:
tar -tvf my_image.tar

docker load:從 tar 文件加載鏡像

docker load 用于從 tar 歸檔文件中加載鏡像,通常用于恢復或遷移鏡像。

  • 命令格式
docker load [OPTIONS]
  • 常用選項

  • -i:指定要加載的 tar 文件路徑。

  • -q:靜默模式,不輸出加載過程中的詳細信息。

  • 示例
    my_image.tar 文件加載鏡像:

docker load -i my_image.tar
  • 驗證
    使用 docker images 查看加載的鏡像:
docker images

總結

這些命令是 Docker 中常用的操作鏡像的工具,它們可以幫助你在容器和鏡像之間進行靈活的轉換和管理。

根據實際需求,選擇合適的命令來完成任務。

– 歡迎點贊、關注、轉發、收藏【我碼玄黃】,各大平臺同名。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容