docker拉取clickhouse镜像的方法实现
作者:SAFE20242034
本文主要介绍了docker拉取clickhouse镜像的方法实现,解决从DockerHub拉取镜像时的网络连接问题,具有一定的参考价值,感兴趣的可以了解一下
一 配置一下镜像仓库的位置
(1)打开docker desktop
点这个小齿轮
给这些配置一个镜像源
{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "debug": false, "experimental": false, "features": { "buildkit": true }, "insecure-registries": [], "registry-mirrors": [ "https://pi9dpp60.mirror.aliyuncs.com" ] }
二 尝试拉一个镜像下来
(1)拉一个数据库相关的镜像下来
这个错误是在尝试从Docker Hub拉取镜像时出现的网络连接问题。“EOF”(End Of File)表示连接突然中断。
docker拉取了第一个镜像,试了很多次才成功
Microsoft Windows [版本 10.0.26100.3194] (c) Microsoft Corporation。保留所有权利。 C:\Users\20120>docker pull yandex/clickhouse-server Using default tag: latest error during connect: Post "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.47/images/create?fromImage=yandex%2Fclickhouse-server&tag=latest": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified. C:\Users\20120>docker pull yandex/clickhouse-server Using default tag: latest latest: Pulling from yandex/clickhouse-server ea362f368469: Pull complete 38ba82a23e2b: Pull complete 9b17d04b6c62: Downloading 5658714e4e8b: Download complete 6bde977a0bf8: Download complete 39053b27290b: Download complete 762d3d237065: Download complete EOF C:\Users\20120>docker pull yandex/clickhouse-server Using default tag: latest Error response from daemon: Get "https://registry-1.docker.io/v2/": EOF C:\Users\20120>docker pull yandex/clickhouse-server Using default tag: latest latest: Pulling from yandex/clickhouse-server ea362f368469: Pull complete 38ba82a23e2b: Pull complete 9b17d04b6c62: Pull complete 5658714e4e8b: Pull complete 6bde977a0bf8: Pull complete 39053b27290b: Pull complete 762d3d237065: Pull complete Digest: sha256:1cbf75aabe1e2cc9f62d1d9929c318a59ae552e2700e201db985b92a9bcabc6e Status: Downloaded newer image for yandex/clickhouse-server:latest docker.io/yandex/clickhouse-server:latest C:\Users\20120>
解决方案:
检查您的网络连接,确保能够稳定访问互联网
尝试使用阿里云Docker镜像加速器,毕竟阿里镜像的品质是非常好的,例如:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
可能需要一个服务器地址来访问Docker Hub
尝试指定镜像版本,而不是使用"latest"标签:
docker pull yandex/clickhouse-server:21.8
如果问题持续存在,可以尝试重启Docker服务:
sudo systemctl restart docker
如果以上方法都不能解决问题,可能是Docker Hub服务临时不可用,您可以稍后再试。
(2)补充:push和pull的区别
在Git和Docker中,pull
和push
的概念都是关于数据在本地和远程仓库之间传输的,但它们操作的对象和具体行为有所不同。以下是它们在Git和Docker中的异同点:
Git中的Pull和Push
操作对象:
- Git操作的是代码仓库,包括代码文件、版本历史、分支信息等。
Pull(拉取):
- 从远程仓库获取最新的代码更新,并合并到本地仓库。
- 主要目的是同步本地仓库与远程仓库的代码,保持一致。
- 通常涉及合并操作,可能会产生冲突。
Push(推送):
- 将本地仓库的更改(提交)上传到远程仓库。
- 主要目的是将本地的开发成果共享到远程仓库,供团队成员协作。
- 需要权限验证,确保只有授权用户才能推送。
Docker中的Pull和Push
操作对象:
- Docker操作的是镜像(images),即打包好的应用程序及其运行环境。
Pull(拉取):
- 从远程镜像仓库(如Docker Hub)下载镜像到本地。
- 主要目的是获取所需的应用程序镜像,以便在本地运行容器。
- 通常是下载预先构建好的镜像文件。
Push(推送):
- 将本地构建的镜像上传到远程镜像仓库。
- 主要目的是共享自己构建的镜像,或者备份镜像到远程仓库。
- 需要权限验证,确保只有授权用户才能推送。
异同点总结
相同点:
pull
和push
都涉及本地和远程仓库之间的数据传输。- 它们都是协作和共享的重要手段。
- 都涉及到权限验证。
不同点:
- 操作对象不同:Git操作代码仓库,Docker操作镜像。
- 数据内容不同:Git传输代码和版本历史,Docker传输打包好的应用程序及其运行环境。
- Git的pull会涉及到代码的合并,有可能会产生冲突。Docker的pull是下载镜像,一般不存在冲突。
应用场景
Git:
- 团队协作开发:团队成员通过
pull
和push
共享和同步代码。 - 版本控制:通过
pull
获取最新的代码版本,通过push
提交自己的代码更改。
Docker:
- 应用程序部署:通过
pull
获取应用程序镜像,在任何支持Docker的环境中运行。 - 镜像共享:通过
push
将自己构建的镜像分享给他人或部署到生产环境。
到此这篇关于docker拉取clickhouse镜像的方法实现的文章就介绍到这了,更多相关docker拉取clickhouse镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!