Docker镜像管理笔记
Docker 镜像管理笔记
1. 拉取公共镜像
# 拉取官方默认版本
docker pull elasticsearch
docker pull kibana
docker pull logstash
docker pull nginx2. 拉取指定版本镜像(Elastic 官方仓库)
# Elasticsearch Wolfi 版本
docker pull docker.elastic.co/elasticsearch/elasticsearch-wolfi:8.17.1
# Logstash
docker pull docker.elastic.co/logstash/logstash:8.17.1
# Kibana
docker pull docker.elastic.co/kibana/kibana:8.17.13. 为私有仓库打标签
# 为镜像打上私有仓库标签(192.168.10.10:5000)
docker tag docker.elastic.co/elasticsearch/elasticsearch-wolfi:8.17.1 192.168.10.10:5000/elasticsearch-wolfi:8.17.1
docker tag docker.elastic.co/kibana/kibana:8.17.1 192.168.10.10:5000/kibana:8.17.1
docker tag docker.elastic.co/logstash/logstash:8.17.1 192.168.10.10:5000/logstash:8.17.14. 推送镜像到私有仓库
docker push 192.168.10.10:5000/elasticsearch-wolfi:8.17.1
docker push 192.168.10.10:5000/kibana:8.17.1
docker push 192.168.10.10:5000/logstash:8.17.15. 从私有仓库拉取镜像
docker pull 192.168.10.10:5000/elasticsearch-wolfi:8.17.1
docker pull 192.168.10.10:5000/kibana:8.17.1
docker pull 192.168.10.10:5000/logstash:8.17.16. 配置 Docker 私有仓库(insecure-registries)
编辑 /etc/docker/daemon.json 文件,添加以下内容:
# 示例配置(注意:一次只能配置一个有效的 JSON 对象)
{
"insecure-registries": ["http://192.168.10.185:5000"]
}或
{
"insecure-registries": ["http://192.168.10.10:5000"]
}7. 清理与重启 Docker
# 清理未使用的镜像
docker image prune --force
# 编辑配置文件
vim /etc/docker/daemon.json
# 重新加载 systemd 配置
systemctl daemon-reload
# 重启 Docker 服务
systemctl restart docker注意事项
- `insecure-registries` 配置仅支持一个完整的 JSON 对象,请根据实际私有仓库地址填写。
- 使用 `docker image prune --force` 会删除所有未被容器使用的镜像,请谨慎操作。
- 修改 `daemon.json` 后必须重启 Docker 服务才能生效。Docker 镜像管理及配置笔记
1. Docker 镜像导出与导入
导出镜像
# 将镜像(ID: 75ef5b734af4)保存为 tar 文件
docker save -o registry.docker 75ef5b734af4导入镜像
# 从 tar 文件加载镜像
docker load -i ./registry.docker重新打标签
# 为导入的镜像打上 registry:latest 标签
docker tag 75ef5b734af4 registry:latest2. 搭建私有镜像仓库(Docker Registry)
创建数据目录并运行 Registry 容器
# 创建用于存储镜像数据的目录
mkdir -p /data/registry
# 运行私有仓库容器
docker run -d \
-p 5000:5000 \
-v /data/registry:/var/lib/registry \
--name registry \
registry参数说明:
-d:后台运行-p 5000:5000:映射宿主机 5000 端口到容器 5000 端口-v /data/registry:/var/lib/registry:挂载数据卷,持久化存储镜像--name registry:容器名称registry:使用的镜像名称
3. Home Assistant 镜像处理
# 导出 Home Assistant 镜像
docker save -o ha.docker 21d5ff6c69c0
# 加载镜像
docker load -i ./ha.docker
# 重新打标签
docker tag 21d5ff6c69c0 homeassistant/home-assistant:latest4. Docker 配置私有仓库(insecure-registry)
修改 Docker 服务配置
# 编辑 Docker 服务文件
vi /usr/lib/systemd/system/docker.service在 ExecStart 行添加 --insecure-registry 参数:
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.61.238重启 Docker 服务
# 重新加载 systemd 配置并重启 Docker
systemctl daemon-reload && systemctl restart docker5. 京东签到配置(青龙面板)
仓库地址
home.m.jd.com添加仓库命令
ql repo https://github.com/6dylan6/jdpro.git "jd_|jx_|jddj_" "backUp" "^jd[^_]|USER|JD|function|sendNotify"命令参数说明:
| 参数 | 说明 | ||||
|---|---|---|---|---|---|
ql repo | 青龙面板添加仓库命令 | ||||
https://github.com/6dylan6/jdpro.git | 仓库地址 | ||||
| `"jd_\ | jx_\ | jddj_"` | 拉取脚本名称包含的关键字 | ||
"backUp" | 排除的目录或文件 | ||||
| `"^jd1\ | USER\ | JD\ | function\ | sendNotify"` | 排除的脚本名称关键字 |
时间记录
2024年3月2日 00:18:38注意事项
- 镜像 ID:
docker save和docker tag使用的镜像 ID(如75ef5b734af4)可能因环境不同而变化,请使用实际存在的镜像 ID - 私有仓库地址:
--insecure-registry配置的 IP 地址需与实际私有仓库地址一致 - 数据持久化:运行 Registry 容器时务必挂载数据卷,否则容器删除后镜像数据会丢失
- 防火墙配置:如需从其他机器访问私有仓库,需确保 5000 端口已开放
- 青龙面板:京东签到命令需在青龙面板的命令行或定时任务中执行
- _ ↩