基于非现有图像的Docker容器?

时间:2016-04-05 13:35:58

标签: ssh docker dockerfile dockerhub

在更好地理解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, 奥莱

1 个答案:

答案 0 :(得分:2)

您可以参考danielguerra/alpine-sshd,该danielguerra69/alpine-sshd引用了DockerfileSource Repository,{{3}}列出了{{3}},基本图片为

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