Docker 镜像管理笔记

1. 拉取公共镜像

# 拉取官方默认版本
docker pull elasticsearch
docker pull kibana
docker pull logstash
docker pull nginx

2. 拉取指定版本镜像(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.1

3. 为私有仓库打标签

# 为镜像打上私有仓库标签(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.1

4. 推送镜像到私有仓库

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.1

5. 从私有仓库拉取镜像

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.1

6. 配置 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:latest

2. 搭建私有镜像仓库(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:latest

4. 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 docker

5. 京东签到配置(青龙面板)

仓库地址

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

注意事项

  1. 镜像 IDdocker savedocker tag 使用的镜像 ID(如 75ef5b734af4)可能因环境不同而变化,请使用实际存在的镜像 ID
  2. 私有仓库地址--insecure-registry 配置的 IP 地址需与实际私有仓库地址一致
  3. 数据持久化:运行 Registry 容器时务必挂载数据卷,否则容器删除后镜像数据会丢失
  4. 防火墙配置:如需从其他机器访问私有仓库,需确保 5000 端口已开放
  5. 青龙面板:京东签到命令需在青龙面板的命令行或定时任务中执行

  1. _

标签: none

添加新评论