【问题标题】:Cloud Shell environment: Create custom image failing to SSHCloud Shell 环境:创建自定义映像无法通过 SSH
【发布时间】:2019-09-30 16:36:10
【问题描述】:

Cloud Source Repository,为您提供基于 nodejs docker 镜像的 cloudshell。

我正在尝试为我的存储库创建自定义映像,我正在构建的 docker 映像下载并安装 Dart。

我按照教程创建了我的图像,它可以很好地构建#cloudshell env build-local,但是当我尝试 ssh 进入容器时它失败了。

如何阻止我访问 docker 实例?
我查看了防火墙规则(可能做错了)。

【问题讨论】:

  • 您的 VPC 的防火墙规则不会影响 Cloud Shell。 Cloud Shell 未在您的 VPC 内运行。问题是你打破了容器。在 Docker 中测试您桌面上的容器,并确定是什么更改破坏了容器。
  • @JohnHanley 谢谢,我需要 Docker 化一个 SSH 服务 ` EXPOSE 22 \n CMD ["/usr/sbin/sshd", "-D"] `

标签: dart google-cloud-platform


【解决方案1】:

找到了拥有 Dart 支持的云控制台的解决方案。
Dockerfile

FROM gcr.io/cloudshell-images/cloudshell:latest
// Download & Install dart
RUN apt-get -q update
RUN apt-get install --no-install-recommends -y -q gnupg2 curl git ca-certificates apt-transport-https openssh-client
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list
RUN apt-get update
RUN apt-get install dart
RUN rm -rf /var/lib/apt/lists/*

ENV DART_SDK=/usr/lib/dart
ENV PATH=/usr/lib/dart/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

更多信息请参见Dockerize an SSH service

上面将创建一个云控制台,允许您执行 dart 文件。 请按照有关如何添加自定义图像的教程进行操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多