使用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"]
相关推荐
好学且牛逼的马5 小时前
【工具配置|docker】
运维·docker·容器
文言一心6 小时前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
北邮刘老师7 小时前
A3C Network:智能体互联网的层次化视图
运维·服务器·网络
空中楼阁,梦幻泡影7 小时前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
晚风吹长发7 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
Le_ee8 小时前
dc4打靶报告
运维·服务器·网络
yeflx8 小时前
解决Ubuntu22.04宿主机docker容器中nvidia-smi偶发失效问题
运维·docker·容器
4t4run9 小时前
28、Linux 系统定时任务
linux·运维·服务器
~黄夫人~9 小时前
Ansible 自动化运维:从 “手动输密码” 到 “一键免密管理”
linux·运维·自动化·ansible
cui__OaO9 小时前
Linux驱动--基于驱动设备分离的按键中断驱动
linux·运维·服务器·嵌入式