Win10下Docker创建Centos容器SSH远程登录的镜像

1. 创建D:/docker/centos_ssh/Dockerfile

mkdir D:/docker/build/centos_ssh
cd .>D:/docker/build/centos_ssh/Dockerfile

2. 编辑Dockerfile文件

# 选择一个已有的os镜像作为基础  
FROM centos:7

# 镜像的作者  
MAINTAINER xxx "xxx@gmail.com"  

# 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no  
RUN yum install -y openssh-server sudo  
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config  


# 下面这两句比较特殊,在centos7上必须要有,否则创建出来的容器sshd不能登录  
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key 
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key

# 指定root密码
RUN /bin/echo 'root:123456'|chpasswd
RUN /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local

# 启动sshd服务并且暴露22端口  
RUN mkdir /var/run/sshd  
EXPOSE 22  
CMD ["/usr/sbin/sshd", "-D"]

如果你创建容器需要提权--privileged=true,可以修改entrypoint,在dockerfile文件配置中添加

ENTRYPOINT ["/usr/sbin/init"]

默认entrypoint应该是/bin/bash 

3. 构建镜像

在Dockerfile当前目录执行下面命令,开始构建镜像。注意最后面的点不要忘了,表明是读取当前目录的Dockerfile文件

docker build -t xxx/centos_ssh:7 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值