不多说先给代码
FROM ubuntu:22.04 # 基础镜像 可替换为其他镜像
USER root
RUN echo 'root:root' |chpasswd
RUN apt-get update -y \
&& apt-get install -y git wget curl
RUN apt-get install -y openssh-server vim && apt clean \
&& rm -rf /tmp//* /var/lib/apt/lists/* /var/tmp* \
&& echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
RUN mkdir -p /var/run/sshd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"] # 为什么是 sbin 不是 bin 呢, 我也不懂, 总之别改
启动镜像
-p xxxx:22
挂载内部端口22
docker run -d -p 30969:22 docker.io/library/target-image
详解
设置用户
USER root
RUN echo 'root:root' |chpasswd
# 账号:密码
ssh 三步骤
- 首要条件是安装
openssh-server
和vim
apt-get update -y \
&& apt-get install -y openssh-server vim
- 其次添加字段
"PermitRootLogin yes"
到/etc/ssh/sshd_config
文件
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
- 最后新建文件夹
mkdir -p /var/run/sshd
如何让vscode也能连接
- 安装
wget
和curl
apt-get update -y && \
apt-get install -y git wget curl
设置镜像自动启动 ssh
CMD ["/usr/sbin/sshd", "-D"]
# 为什么是 sbin 不是 bin 呢, 我也不懂
查看ssh服务是否启动
service ssh status
若未启动
service ssh start
log
root@2e1bf289cc16:/tmp# service ssh status
* sshd is not running
root@2e1bf289cc16:/tmp# service ssh start
* Starting OpenBSD Secure Shell server sshd [ OK ]