k8s部署应用多容器的sshd
创建eg_sshd镜像
准备Dockerfile文件
以下内容Dockerfile
在容器中设置了sshd服务,您可以使用ssh连接到该容器中。
- 使用
RUN echo 'root:123456' | chpasswd
,将“ 123456”替换为之前生成的密码。 - 使用
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
,without-password
代替prohibit-password
Ubuntu 14.04。
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:THEPASSWORDYOUCREATED' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
使用以下方法生成image
$ docker build -t eg_sshd .
运行一个test_sshd容器
$ docker run -d -P --name test_sshd eg_sshd
$ docker port test_sshd 22
0.0.0.0:32768
现在,您可以ssh
宿主机的IP+端口访问到容器内部:
$ ssh root@192.168.1.2 -p 49154
# or
$ ssh root@localhost -p 49154
# The password is