使用dockerfile快速构建一个带ssh的docker镜像

不多说先给代码

dockerfile 复制代码
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"]

启动镜像

  • -p xxxx:22 挂载内部端口 22
bash 复制代码
docker run -d -p 30969:22  docker.io/library/target-image

详解

设置用户

bash 复制代码
USER root
RUN echo 'root:root' |chpasswd 
# 账号:密码

ssh 三步骤

  • 首要条件是安装 openssh-servervim
bash 复制代码
apt-get update -y \
&&  apt-get install -y openssh-server vim
  • 其次添加字段 "PermitRootLogin yes"/etc/ssh/sshd_config文件
bash 复制代码
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
  • 最后新建文件夹
bash 复制代码
mkdir -p /var/run/sshd

如何让vscode也能连接

  • 安装 wgetcurl
bash 复制代码
apt-get update -y && \
apt-get install -y git wget curl

设置镜像自动启动 ssh

bash 复制代码
CMD ["/usr/sbin/sshd", "-D"]
相关推荐
VVVVWeiYee1 小时前
TCP/UDP详解(一)
运维·网络·tcp/ip·udp·信息与通信
谢尔登2 小时前
【计算机网络】 IPV4和IPV6区别
运维·服务器·计算机网络
@Demi2 小时前
vsCode或Cursor 使用remote-ssh插件链接远程终端
服务器·ide·vscode·ssh
努力努力再努力wz2 小时前
【c++进阶系列】:万字详解多态
java·linux·运维·开发语言·c++
杭州泽沃电子科技有限公司3 小时前
工业环境电缆火灾预防的分布式光纤在线监测
运维·人工智能·科技·安全
zzz.103 小时前
Linux问答题:调优系统性能
linux·运维·云原生
Lovyk3 小时前
完整实验命令解析:从集群搭建到负载均衡配置
linux·运维·服务器
Yyyy4823 小时前
MyCAT高可用
java·运维
熬夜苦读学习4 小时前
Reactor 反应堆模式
运维·服务器·网络·网络协议·http·智能路由器·php
ElendaLee4 小时前
笔记本电脑Windows+Ubuntu 双系统,Ubuntu无法挂载Windows的硬盘 报错问题解决
linux·运维·ubuntu