基于Dockerfile的方式创建SSH服务镜像。
2016-11-16 20:25
946 查看
准备文件
mkdir ssh_Dockerfile && cd ssh_Dockerfile
在ssh_Dockerfile文件中添加3个文件分别是:run.sh(运行脚本),Dockerfile, authorized_keys(存放公钥的文件)。
具体内容都在我的github上出于方便我还是粘一下内容
https://github.com/tonyxinminghui/ssh-serverDockerfile
Dockerfile
#所使用的基础镜像
FROM ubuntu:14.04
#添加作者信息
MAINTAINER tony 445241843@qq.com
#安装SSH服务
RUN apt-get install -y openssh-server
RUN mkdir -p /var/run/sshd
RUN mkdir -p /root/.ssh
#取消pam登录限制
RUN sed -ri 's/session required
pam_loginuid.so/#session required pam_loginuid.so' /etc/pam.d/sshd
#添加认证文件和启动脚本
ADD authorized_keys /root/.ssh/authorized_keys
#ADD run.sh /root/run.sh
RUN echo "#!/bin/bash" > /root/run.sh
RUN echo "/usr/sbin/sshd -D" >> /root/run.sh
RUN chmod u+x /root/run.sh
#暴露端口
EXPOSE 22
#设置默认启动的命令
CMD ["/root/run.sh"]
但是这里注意我在运行docker build ./的时候出现了
E: Unable to locate package openssh-server
的错误,解决方案是更新一下源RUN apt-get update就好了。
run.sh
启动脚本文件#!/bin/bash
/root/sbin/sshd -D
authorized_keys
公钥文件,把运行ssh-client的主机的公钥加到authorized_keys中作为认证。ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYMLZxEpNkR+FbHkaONWe/oRP2Pwy17ez4k4DWiKlaG/hP1fVOOTZUKaUupQvV5z8SVIx3wuasKE7bF+L0oA5arECfVAqHXxPR8gHQcrq4Nln2DRz05wkNdXEi3GSgN6a+fqL1+XDPYSzqDWCXVBBmpaTp1rlS3XPospQz4iXh+1LTBB9Rk5tp8zETCVMO7XdKiNqnZ35NPjT07/7wsIlmfwPzvGCK1q3+Z95zJ0Bxpy3Y+pIjy+ZnQW8SOytJ0r9zLz+iP+LOzLAIp0IkCeUBHiws16IT7gIgc3HTr6DZl3DdDEGKvB9bGvtYz4LPc+n25drnFwWP64vIJmY+cnSl root@ubuntu这是我的虚拟机的公钥。
之后用docker build ./构建镜像。
过后的验证过程在我的上一篇博客中已经提过了。
相关文章推荐
- 通过Dockerfile创建支持SSH服务的CentOS镜像
- Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
- 「二」创建一个带 ssh 服务的基础镜像(修订版)--使用 Dockerfile 创建
- Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
- Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
- 通过Dockerfile创建支持SSH服务的CentOS镜像
- Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
- Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
- 使用Dockerfile创建支持ssh服务自启动的容器镜像
- docker 安装 创建支持ssh服务的镜像 创建nginx服务的镜像 用dockerfile制作nginx镜像
- 通过Dockerfile创建SSH服务的CentOS镜像
- 用dockerfile创建支持ssh服务的centos镜像
- 通过Dockerfile创建支持SSH服务的CentOS镜像
- 通过DockerFile创建tomcat+ssh服务镜像
- 使用Dockerfile创建一个带 ssh 服务的基础镜像
- Docker实战:使用Dockerfile创建带Apache服务并支持ssh的Centos Docker镜像
- Docker实战:使用Dockerfile创建带nginx服务并支持ssh的Centos Docker镜像
- Docker实战:使用Dockerfile创建带tomcat服务并支持ssh的Centos Docker镜像
- Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
- 通过Dockerfile创建支持SSH服务的CentOS镜像