使用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"]
相关推荐
RisunJan19 分钟前
Linux命令-ngrep(方便的数据包匹配和显示工具)
linux·运维·服务器
热爱Liunx的丘丘人36 分钟前
Ansible-doc及常用模块
linux·运维·服务器·ansible
tianyuanwo1 小时前
OS/DevOps程序员切入Harness Engineering的入门与进阶指南
运维·devops·harness
飞飞传输2 小时前
国产化FTP替代方案哪个好?选对平台让传输更安全高效
大数据·运维·安全
一生了无挂2 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
王飞飞不会飞2 小时前
Mac 安装Hermes Agent 过程记录
运维·深度学习·机器学习
徐子元竟然被占了!!2 小时前
Nginx
运维·nginx
SPC的存折3 小时前
6、Docker常用配置
运维·docker·容器
图图玩ai3 小时前
SSH 命令管理工具怎么选?从命令收藏到批量执行一次讲清
linux·nginx·docker·ai·程序员·ssh·可视化·gmssh·批量命令执行
星谐4 小时前
AutoUploadLL:自动化上传工具开发实践
运维·自动化