2024 年 docker 提示index.docker.io

简介: 在使用 Docker 时遇到连接 Docker Hub 的错误,即使配置了阿里源、清华源等国内镜像源仍无法解决。错误提示为连接超时或主机未响应。最终发现许多 Docker Hub 已关闭,阿里源也仅限于阿里产品内使用。解决方法是搭建私有 Docker Hub。

发现 docker 提示以下错误:

Error response from daemon: Get "https://index.docker.io/v1/search?q=nginx&n=25": dialing index.docker.io:443 container via direct connection because  has no HTTPS proxy: connecting to index.docker.io:443: dial tcp 96.44.137.28:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

配置阿里源后还是报错,尝试 docker info 命令发现配置已经生效,但就是错。更换其它国内源清华源、网易源仍然不行。

最后发现目前很多 docker hub 都关闭了,阿里源也只能使用在阿里产品范围内。所以要解决这个问就得自己搭建个私有 docker hub。


搭建私有 Docker Hub 的步骤如下:

1. 准备环境

  • 服务器:Linux 。
  • Docker:安装 Docker。

2. 选择私有仓库工具

常用的私有 Docker 仓库工具包括:

  • Docker Registry:官方提供的轻量级工具。
  • Harbor:企业级工具,提供更多功能。

3. 使用 Docker Registry 搭建私有仓库

3.1 创建配置文件

创建 config.yml 文件,配置如下:

version: 0.1
log:
  fields:
    service: registry
storage:
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

3.2 启动 Docker Registry

使用以下命令启动:

docker run -d \
  -p 5000:5000 \
  --name registry \
  -v $(pwd)/config.yml:/etc/docker/registry/config.yml \
  -v /var/lib/registry:/var/lib/registry \
  registry:2

3.3 测试私有仓库

推送镜像到私有仓库:

docker tag my-image localhost:5000/my-image
docker push localhost:5000/my-image

拉取镜像:

docker pull localhost:5000/my-image

4. 使用 Harbor 搭建私有仓库

4.1 下载 Harbor

Harbor GitHub 下载安装包并解压。

4.2 配置 Harbor

编辑 harbor.yml 文件,设置主机名、端口和数据存储路径。

4.3 安装 Harbor

运行安装脚本:

sudo ./install.sh

4.4 访问 Harbor

通过浏览器访问 http://<your-hostname>,使用默认账户 admin 和密码 Harbor12345 登录。

4.5 推送和拉取镜像

推送镜像:

docker tag my-image <your-harbor-host>/my-project/my-image
docker push <your-harbor-host>/my-project/my-image

拉取镜像:

docker pull <your-harbor-host>/my-project/my-image

我是栈江湖,如果你喜欢此文章,不要忘记点赞+关注

目录
相关文章
|
8月前
|
程序员 Linux Docker
使用Docker本地安装部署Draw.io绘图工具并实现远程访问协作办公
使用Docker本地安装部署Draw.io绘图工具并实现远程访问协作办公
|
15天前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
182 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
6月前
|
存储 Linux 网络安全
Centos安装Docker的详细安装步骤,Docker相关组件:docker-ce-cli、docker-ce和containerd.io的区别
Centos安装Docker的详细安装步骤,Docker相关组件:docker-ce-cli、docker-ce和containerd.io的区别;CentOS7安装DockerCompose;Docker镜像仓库
813 11
|
缓存 Linux Shell
Docker资源(CPU/内存/磁盘IO/GPU)限制与分配指南
什么是cgroup? cgroups其名称源自控制组群(control groups)的简写,是Linux内核的一个功能,用来限制、控制与分离一个进程组(如CPU、内存、磁盘输入输出等)。 什么是Docker资源限制?
|
网络协议 jenkins 持续交付
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker
883 0
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker
|
网络协议 C++ Docker
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
30749 1
|
监控 Cloud Native 安全
使用GUI工具Portainer.io管控Docker容器
5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器。
使用GUI工具Portainer.io管控Docker容器
|
Docker 容器
在宿主机查看docker使用cpu、内存、网络、io情况
使用命令 docker stats [OPTIONS] [CONTAINER...] docker stats命令返回一个用于运行容器的实时数据流。要将数据限制到一个或多个特定的容器,可以指定一个由空格分隔的容器名称或ID的列表。
2285 0

热门文章

最新文章