【问题标题】:Docker Container Based on Non Existing Image?基于不存在图像的 Docker 容器?
【发布时间】:2016-07-25 11:44:20
【问题描述】:

在构建对 SSH 和 Docker 的更好理解的过程中(我知道有一些方法可以在容器中运行 SSH)。我查看了这个容器danielguerra/alpine-sshd

使用说明中的第一个命令使用此图像: danielguerra/ssh-container.

请注意,我特意询问的是这个引用 ssh-container 图像的命令:

 docker create -v /root/.ssh --name ssh-container danielguerra/ssh-container /bin/true

但是该存储库是空的。目前没有Dockerfile。所以我很好奇容器最终基于什么图像?

TIA, 奥莱

【问题讨论】:

    标签: ssh docker dockerfile dockerhub


    【解决方案1】:

    您引用danielguerra/alpine-sshd,它引用danielguerra69/alpine-sshdSource Repository,它列出了一个Dockerfile,其基本映像为

    FROM alpine:edge
    

    为了完整起见,这里是整个 Dockerfile

    FROM alpine:edge
    MAINTAINER Daniel Guerra <daniel.guerra69@gmail.com>
    
    RUN apk add --update openssh
    
    RUN ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
    
    RUN sed -i "s/UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config && sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config && sed -i "s/PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config && sed -i "s/#AuthorizedKeysFile/AuthorizedKeysFile/g" /etc/ssh/sshd_config
    
    CMD ["/usr/sbin/sshd","-D"]
    

    更新

    回答您的评论...创建一个空目录并将 Dockerfile 上方放入该目录...然后 cd 进入该目录发出类似于

    的命令
    docker build --tag ${YOUR_DOCKERHUB_ID}/${THIS_IMAGENAME} .
    

    特别是丹尼尔显然使用了这个命令

    docker build --tag danielguerra/ssh-container .
    

    注意上面的尾随句点 ( . ) ...它表示 Dockerfile 的目录 ...然后为了使该图像对世界可见,Daniel 使用

    将这个新的图像推送到 Docker Hub
    docker login # only necessary once to authenticate your DockerHub Id
    docker push danielguerra/ssh-container
    

    【讨论】:

    • 嗨 - 您是否也知道使用说明中引用 danielguerra/ssh-container 的第一个命令使用什么图像。该图像的 docker 存储库是空的......所以看起来容器是基于 docker 中的某种默认值构建的......?
    • 嗨 - 我仍然很困惑 - hub.docker.com/r/danielguerra/ssh-container 链接根本没有引用 Dockerfile ...根据您的回答,我们至少会得到一个 Dockerfile 对吗?
    • 当人们简单地将他们的图像 docker push 到 DockerHub 时,它没有 README 或任何文档,除非他们之后添加它......就像图像 danielguerra/ssh-container 一样......试试这个自己...使用“docker build --tag OlehubId/aabbcc”创建图像。...然后是 docker push OlehubId/aabbcc ...在 push 检查您的 DockerHub 条目后...它会像 Daniel 的一样贫瘠...所以是的,丹尼尔确实提供了一个 Dockerfile
    • 有没有办法看到他推送到这个仓库的Dockerfile:hub.docker.com/r/danielguerra/ssh-container
    • 例如,这个存储库hub.docker.com/r/danielguerra/alpine-sshd 有一个Dockerfile 选项卡,我可以通过它查看Dockefile,但这个存储库没有:hub.docker.com/r/danielguerra/ssh-container
    猜你喜欢
    • 2019-04-24
    • 2014-12-26
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 2017-02-12
    相关资源
    最近更新 更多