gpt4 book ai didi

docker - GCE 未正确部署 GCR 镜像

转载 作者:行者123 更新时间:2023-12-02 18:11:07 31 4
gpt4 key购买 nike

我已关注this guide从 Google 文档中获取,以便能够将自定义 Docker 镜像推送到 Google 容器注册表,然后能够使用该镜像启动新的 GCE 实例。起初我想尝试使用 anaconda3 public image来自 docker hub,无需任何修改(为了测试)。

这是我安装 gcloud 和 docker 后到目前为止所做的步骤:

  1. gcloud auth configure-docker -> 使用我的 gcloud 凭据配置 docker
  2. docker pull continuumio/anaconda3 -> 拉取公共(public)镜像
  3. docker tag continuumio/anaconda3 eu.gcr.io/my-project-id/anaconda3 -> 使用文档中指定的注册表名称标记本地镜像
  4. docker push eu.gcr.io/my-project-id/anaconda3 -> 将镜像推送到 GCR

好!我现在可以通过 GCR 界面查看我的镜像,并且还可以使用 GCE 部署它。我选择使用 f1-micro 实例、Container-Optimized OS 67-10575.62.0 stable、10 Go 启动磁盘、允许 HTTP 流量等进行部署。 p>

但是当我使用 ssh 连接到新创建的 VM 实例时,我找不到 anaconda3 库(应该在 /opt/conda 中创建) )。相反,我可以看到一个 /opt/google 目录,这让我认为该镜像尚未正确部署,并且 GCE 使用的是默认镜像...

因此我尝试检查图像是否已正确推送到 GCR 中,因此我决定删除本地镜像并再次从 GCR 中拉取它:

  1. docker rmi -f eu.gcr.io/my-project-id/anaconda3
  2. docker pull eu.gcr.io/my-project-id/anaconda3:latest

我运行图像

docker run -t -i eu.gcr.io/my-project-id/anaconda3

我可以看到一切都很好,我在 /opt/conda 中正确安装了 anaconda3 以及所需的所有工具(Pandas、Numpy、Jupyter 笔记本等)


我试图找到与我有同样问题的人,但没有成功......也许我在我的过程中做错了什么?谢谢!

TL;DR 我的问题是我已在 Google GCR 上推送了 anaconda3 镜像,但是当我使用该镜像启动虚拟实例时,上面没有 anaconda

最佳答案

在GCE实例上找不到直接安装的anaconda库是正常的。

实际上,当您选择在 GCE VM 实例上部署容器镜像时,Docker 容器将从您提供的镜像启动(在您的示例中,eu.gcr.io/my-project-id/anaconda3 )。这些库没有安装在主机上,而是安装在该容器的内部(运行docker ps来查看它,但通常它与您的虚拟机实例具有相同的名称)。如果你运行类似的东西:

docker exec -it <docker_container_name> ls /opt/conda

然后您应该看到 anaconda 库,仅存在于容器内

当您运行 docker run -t -i eu.gcr.io/my-project-id/anaconda3 时,您实际上是在启动容器并在该容器内运行交互式 bash session (请参阅 CMD here )。这就是为什么你可以找到 anaconda 库:你在容器内!

容器化软件(此处为docker)提供主机和容器之间的隔离。我建议您阅读有关 containerization 的文档, Dockerhow to run containers on Container-Optimized OS .

关于docker - GCE 未正确部署 GCR 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51559660/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com