Docker镜像 配置ssh
安装
1.安装ssh
2.设置root密码
RUN echo 'root:123456' | chpasswd
3.设置sshd config
RUN echo 'Port 22' >> /etc/ssh/sshd_config
RUN echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
4.设置开机启动
RUN mkdir /var/run/sshd #没有这个目录,ssh会挂掉
CMD ["/usr/sbin/sshd","-D"]
或者
RUN echo 'service ssh start' >> /root/.bashrc
Dockerfile
FROM ubuntu:20.04
ENV TZ Asia/Shanghai
ENV LANG zh_CN.UTF-8WORKDIR /workspace
ENV ROOT=/workspaceRUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.listRUN --mount=type=cache,target=/var/cache/apt \apt-get update && \# we need thoseapt-get install -y openssh-server vim USER rootRUN echo 'root:123456' | chpasswd ##config ssh
RUN echo 'Port 22' >> /etc/ssh/sshd_config
RUN echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
# RUN echo 'service ssh start' >> /root/.bashrcRUN mkdir /var/run/sshdEXPOSE 22# COPY . .
STOPSIGNAL SIGINT
ENTRYPOINT [""]
CMD ["/usr/sbin/sshd","-D"]
测试
sudo docker run -it -p 9090:22 <image_id> /bin/bash
ssh -p 9090 root@192.168.1.100
参考
- docker容器SSH服务自启动
- Dockerfile部署带有ssh的Ubuntu