docker离线搭建仓库

简介: docker离线搭建仓库

要在Docker中搭建本地仓库,可以按照以下步骤进行操作:

  1. 首先安装 Docker。根据不同的操作系统选择合适的版本并完成安装过程。
  2. 打开命令行工具(如Terminal或PowerShell),运行以下命令来创建一个新的容器并将其设置为本地仓库
  3. 下载仓库镜像 链接:https://pan.baidu.com/s/1f3pxuWbM3gZC8nbAdF3-Kw?pwd=pwyr
    提取码:pwyr
docker run -d --name registry -p 5000:5000 registry:latest


  1. 这会从官方的Registry镜像创建一个名为"registry"的容器,并将主机上的5000端口与容器内部的5000端口关联起来。
  2. 等待片刻后,使用以下命令确认容器正常运行:
docker ps

应该能看到类似于 "CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES" 的输出结果,表示容器已经成功创建并处于运行状态。


4.现在就可以通过访问 http://localhost:5000 来查看本地仓库了。默认情况下,所有的镜像都存放在 /var/lib/registry/ 目录下。


5..若需要向本地仓库推送镜像,可以使用以下命令标记镜像并指定本地仓库的URL:

docker tag <image_id> localhost:5000/<repository>:<tag>


6.最后,使用以下命令将标记好的镜像推送到本地仓库:

docker push localhost:5000/<repository>:<tag>

7.当然,也可以使用以下命令拉取本地仓库中的镜像:

docker pull localhost:5000/<repository>:<tag>

8.错误分析

9.运行镜像报错:

10.当docker运行镜像时候,出现如下错误:


docker: Error response from daemon: driver failed programming external connectivity on endpoint registry (c0e59dbe36afb92f8662abd10026ccf32b333033074be3054ab490147a6b3dce):  (iptables failed: iptables --wait - t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 172.17.0.2:5000 ! -i docker0: iptables: No chain/target/match by that name. (exit status 1)).

这个错误通常是由于iptables规则的问题导致的。Docker使用iptables来管理网络流量,包括将容器的端口映射到宿主机上。当Docker尝试设置这些规则时,可能会因为某些原因失败。


为了解决这个问题,你可以尝试以下几个步骤:


  1. 重启Docker服务:重启Docker服务可以解决网络相关的问题。
sudo systemctl restart docker

推送镜像到仓库不支持HTTP:



出现这个错误信息 "Get "https://192.168.136.129:5000/v2/": http: server gave HTTP response to HTTPS client" 意味着你尝试通过 HTTPS 协议去访问一个只支持 HTTP 协议的 Docker 仓库。


这通常发生在以下几种情况:


Docker 客户端被配置为默认使用 HTTPS 与仓库进行通信,而你的私有仓库实际上配置为只接受 HTTP 连接。

你可能正在使用一个公共的 Docker 仓库镜像(如 Docker Hub),但错误地配置了私有仓库的地址。

如果你的私有仓库支持 HTTPS,你需要检查是否已正确安装和配置了 SSL 证书。

如果你的私有仓库不支持 HTTPS,你需要在 Docker 客户端中禁用对 HTTPS 的强制使用。

你可以通过设置 Docker 守护进程的配置来禁用对 HTTPS 的强制使用。这通常涉及到编辑 /etc/docker/daemon.json 文件(如果不存在,则创建它),

并添加或修改以下配置:

{
"insecure-registries": ["192.168.136.129:5000"]
}


然后重启 Docker 以使更改生效。然后就可以发布成功了



目录
相关文章
|
19天前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
137 1
|
2月前
|
Docker 容器
Docker自建仓库之Harbor高可用部署实战篇
关于如何部署Harbor高可用性的实战教程,涵盖了从单机部署到镜像仓库同步的详细步骤。
110 15
Docker自建仓库之Harbor高可用部署实战篇
|
2月前
|
存储 Kubernetes Cloud Native
部署Kubernetes客户端和Docker私有仓库的步骤
这个指南涵盖了部署Kubernetes客户端和配置Docker私有仓库的基本步骤,是基于最新的实践和工具。根据具体的需求和环境,还可能需要额外的配置和调整。
72 1
|
29天前
|
网络协议 应用服务中间件 nginx
私有的docker私有镜像站仓库harbor
私有的docker私有镜像站仓库harbor
|
2月前
|
存储 测试技术 数据安全/隐私保护
Docker自建仓库之Harbor部署实战
关于如何部署和使用Harbor作为Docker企业级私有镜像仓库的详细教程。
405 12
|
2月前
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
803 8
|
2月前
|
运维 数据安全/隐私保护 Docker
Docker自建仓库之Docker Registry部署实战
关于如何使用Docker Registry镜像搭建本地私有Docker仓库的实战教程,包括了下载镜像、创建授权目录和用户名密码、启动Registry容器、验证端口和容器、测试登录仓库、上传和下载镜像的详细步骤。
548 5
|
3月前
|
存储 Docker 容器
阿里云私有docker仓库构建海外镜像
【8月更文挑战第25天】
260 3
|
4月前
|
存储 Docker 容器
入职必会-开发环境搭建50-Docker必会搭建Docker私有仓库
Docker官方的Docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像到本地也可以把我们自己的镜像推送上去。但是有时候我们的服务器无法访问互联网或者不希望将自己的镜像放到公网当中,那么我们就需要搭建自己的Docker私有仓库来存储和管理自己的Docker镜像。
入职必会-开发环境搭建50-Docker必会搭建Docker私有仓库
|
2月前
|
应用服务中间件 nginx 数据安全/隐私保护
使用Harbor搭建Docker私有仓库
Harbor是一款开源的企业级Docker仓库管理工具,分为私有与公有仓库两种类型,其中私有仓库被广泛应用于运维场景。Harbor提供图形化界面,便于直观操作,并且其核心组件均由容器构建而成,因此安装时需预先配置Docker及docker-compose。Harbor支持基于项目的用户与仓库管理,实现细粒度的权限控制;具备镜像复制、日志收集等功能,并可通过UI直接管理镜像,支持审计追踪。部署Harbor涉及配置文件调整、登录认证等步骤,并可通过客户端进行镜像的上传、拉取等操作。系统内置多种角色,包括受限访客、访客、开发者、维护人员及管理员,以满足不同场景下的使用需求。
115 0