Docker容器鏡像工具使用示例詳解(拉取、構(gòu)建、管理、優(yōu)化)
以下是更詳細的 Docker 容器鏡像工具使用示例,涵蓋鏡像的 拉取、構(gòu)建、管理、優(yōu)化 等常見操作:
1. 鏡像拉取與搜索
從 Docker Hub 拉取鏡像
# 拉取最新版 Ubuntu docker pull ubuntu # 拉取指定版本的 Nginx docker pull nginx:1.23.4 # 拉取 Alpine Linux(輕量級鏡像) docker pull alpine:3.18
搜索鏡像
# 搜索 Redis 相關(guān)鏡像 docker search redis # 僅顯示官方鏡像 docker search --filter "is-official=true" redis
2. 鏡像管理
查看本地鏡像
# 列出所有鏡像
docker images
# 僅顯示鏡像 ID
docker images -q
# 顯示鏡像大?。ㄈ祟惪勺x格式)
docker images --format "{{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"
刪除鏡像
# 刪除單個鏡像 docker rmi nginx:1.23.4 # 強制刪除(即使有容器使用) docker rmi -f nginx:latest # 刪除所有未被使用的鏡像 docker image prune # 刪除所有鏡像(謹慎使用?。? docker rmi $(docker images -q)
3. 構(gòu)建鏡像(Dockerfile 示例)
示例 Dockerfile
# 使用 Alpine Linux 作為基礎(chǔ)鏡像 FROM alpine:3.18 # 安裝 Nginx RUN apk add --no-cache nginx # 復(fù)制配置文件 COPY nginx.conf /etc/nginx/nginx.conf # 暴露 80 端口 EXPOSE 80 # 啟動 Nginx CMD ["nginx", "-g", "daemon off;"]
構(gòu)建鏡像
# 構(gòu)建鏡像并打標簽 docker build -t my-nginx:1.0 . # 指定 Dockerfile 路徑 docker build -t my-nginx:1.0 -f /path/to/Dockerfile . # 多階段構(gòu)建(優(yōu)化鏡像大?。? docker build --target production -t my-app:prod .
4. 鏡像導(dǎo)出與導(dǎo)入
導(dǎo)出鏡像為 .tar 文件
# 導(dǎo)出鏡像 docker save -o nginx.tar nginx:latest # 導(dǎo)出多個鏡像 docker save -o all-images.tar nginx:latest alpine:3.18
從 .tar 文件導(dǎo)入鏡像
docker load -i nginx.tar
5. 鏡像推送至 Docker Hub / 私有倉庫
登錄 Docker Hub
docker login
打標簽并推送
# 打標簽(格式:`<倉庫>/<鏡像名>:<標簽>`) docker tag my-nginx:1.0 username/my-nginx:1.0 # 推送至 Docker Hub docker push username/my-nginx:1.0 # 推送至私有倉庫 docker tag my-nginx:1.0 registry.example.com/my-nginx:1.0 docker push registry.example.com/my-nginx:1.0
6. 鏡像優(yōu)化
查看鏡像層
# 查看鏡像構(gòu)建歷史 docker history nginx:latest # 使用 dive 分析鏡像(需安裝) dive nginx:latest
減少鏡像大小
- 使用
alpine基礎(chǔ)鏡像 - 多階段構(gòu)建(減少最終鏡像大?。?/li>
- 合并
RUN命令(減少層數(shù)) - 清理緩存
RUN apt-get update && apt-get install -y nginx \
&& rm -rf /var/lib/apt/lists/*
7. 其他實用命令
查看鏡像詳細信息
docker inspect nginx:latest
查看鏡像占用空間
docker system df
清理未使用的鏡像
docker system prune -a
總結(jié)
| 操作 | 命令示例 |
|---|---|
| 拉取鏡像 | docker pull nginx:latest |
| 構(gòu)建鏡像 | docker build -t my-app:1.0 . |
| 查看鏡像 | docker images |
| 刪除鏡像 | docker rmi nginx:latest |
| 導(dǎo)出鏡像 | docker save -o nginx.tar nginx:latest |
| 導(dǎo)入鏡像 | docker load -i nginx.tar |
| 推送鏡像 | docker push username/my-app:1.0 |
| 優(yōu)化鏡像 | dive my-app:1.0 |
以上就是Docker容器鏡像工具使用示例詳解(拉取、構(gòu)建、管理、優(yōu)化)的詳細內(nèi)容,更多關(guān)于Docker容器鏡像操作的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Docker 容器內(nèi)存監(jiān)控原理及應(yīng)用
這篇文章主要介紹了Docker 容器內(nèi)存監(jiān)控原理及應(yīng)用的相關(guān)資料,需要的朋友可以參考下2016-10-10
docker環(huán)境中websocket?通過nginx代理不通解決方案
這篇文章主要介紹了docker環(huán)境中websocket?通過nginx代理不通解決方案,下面是一些可能會導(dǎo)致?WebSocket?代理失敗的問題以及相應(yīng)的解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05
容器搭建nextcloud+onlyoffice+https實踐
本文介紹了在CentOS8.5上使用Docker搭建個人網(wǎng)盤應(yīng)用Nextcloud和OnlyOffice的詳細步驟,包括容器準備、啟動、SSL配置以及在Nextcloud中集成OnlyOffice2026-01-01
基于alpine用dockerfile創(chuàng)建的爬蟲Scrapy鏡像的實現(xiàn)
這篇文章主要介紹了基于alpine用dockerfile創(chuàng)建的爬蟲Scrapy鏡像的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
Docker MySQL 單主從及分表函數(shù)的解決方案
本文介紹了MySQL單主從配置和按月分表兩種方案,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2025-10-10
Docker中Harbor企業(yè)級鏡像倉庫的搭建與使用
本文介紹了Harbor企業(yè)級鏡像倉庫的搭建與使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12

