[英]Unable to push docker image on local private registry
我正在努力解决这个问题。 我必须将 docker 映像(与 docker-compose up 一起正常工作)推送到我的本地注册表,该注册表是使用以下命令设置的:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
这是'docker ps'的输出
5fe319f37d5c registry:latest "/entrypoint.sh /etc/" 41 hours ago Up About an hour 0.0.0.0:5000->5000/tcp registry
我按照步骤推送图像:
docker tag gatewayapi_api localhost:5000/gatewayapi_api
docker-compose up --build
docker tag gatewayapi_api localhost:5000/gatewayapi_api
docker push localhost:5000/gatewayapi_api
但在每种情况下我都得到
file integrity checksum failed for "etc/default/cacerts
我尝试了所有解决方案(重新启动 docker、清理映像、重新启动注册表)
提前致谢。
在这个GitHub 问题中,人们正在分享他们的发现如何解决该问题。
特尔;博士:
docker system prune -a
您的注册表与官方图像一起正常工作吗? 像这样:
docker pull alpine
docker tag alpine localhost:5000/my-alpine
docker push localhost:5000/my-alpine
在 Ubuntu 20.04 中使用包 docker.io 遇到了同样的问题。 将图像推送到我的私有 docker 注册表时会出现错误“文件完整性校验和失败”。 在我的情况下,问题是通过遵循 Docker 网站的官方修复来解决的:
请注意,我的 Docker 私有注册表作为容器运行,如上所示:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
我正在同一台 Ubuntu 20.04 计算机上从同一个 Docker 引擎构建和推送 Docker 映像,通过套接字(而不是以太网)进行通信。
我不知道问题是来自构建镜像的 Docker 客户端还是来自接收镜像的 Docker 私有注册表,它本身作为容器运行。 无论如何,按照上述官方修复是我唯一需要解决的问题,我没有改变其他任何东西。
以具有 sudo 权限的用户身份登录 Ubuntu 或 Debian 主机。
编辑 /etc/default/grub 文件。 添加或编辑 GRUB_CMDLINE_LINUX 行以添加以下两个键值对:
GRUB_CMDLINE_LINUX="cgroup_enable=内存交换账户=1"
$ 须藤更新-grub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.