docker build ubuntu ssh

dockerfile 构建镜像

为了使用Dockerfile构建Docker镜像,请遵循以下步骤:

创建一个名为Dockerfile的文件,并在其中定义镜像的构建指令。

shell 复制代码
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu:24.04

# 安装openssh-server和passwd工具
RUN sed -i "s#http://archive.ubuntu.com/ubuntu/#http://mirrors.aliyun.com/ubuntu/#" /etc/apt/sources.list.d/ubuntu.sources
RUN sed -i "s#http://security.ubuntu.com/ubuntu/#http://mirrors.aliyun.com/ubuntu/#" /etc/apt/sources.list.d/ubuntu.sources
RUN apt-get update && apt-get install -y openssh-server passwd && rm -rf /var/lib/apt/lists/*

# 创建一个新的root密码
RUN echo 'root:root' | chpasswd

# 修改SSH配置允许root登录
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# 设置SSH无密码登录(如果需要)
#RUN sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords yes/' /etc/ssh/sshd_config

# 创建SSH目录并设置权限
RUN mkdir /var/run/sshd
RUN chmod 0600 /var/run/sshd

# 设置SSH目录的用户和用户组
USER root

# 启动ssh服务
CMD ["/usr/sbin/sshd", "-D"]

在包含Dockerfile的目录中,运行以下命令来构建镜像:

shell 复制代码
docker build -t ubuntu .

构建完成后,运行以下命令以创建一个容器实例:

docker run -d -p 1022:22 ubuntu

这里,-t ubuntu标记为新构建的镜像赋予了一个名称,以便您可以轻松地引用它。-d标记表示容器应在后台运行,而-p 1022:22标记将容器的22端口映射到主机的1022端口。

相关推荐
sxlishaobin7 分钟前
SSH远程免密登录的两种方式
运维·ssh
PascalMing2 小时前
从零实现一款 Windows 下的 SSH 批量运维工具:LinuxSshTools 技术详解
运维·windows·ssh
大明者省2 小时前
Ubuntu Python 部署终极版教程
开发语言·python·ubuntu
“码”力全开2 小时前
突破异构算力与协议围墙:基于 Docker 与边缘计算的 GB28181/RTSP 视频智能管理平台架构实践(附源码交付)
docker·音视频·边缘计算
承渊政道2 小时前
Linux系统学习【进程控制:进程创建、终止与等待、进程程序替换、自主shell命令行解释器详解】
linux·服务器·c++·学习·ubuntu·bash·远程工作
java_logo2 小时前
Docker 部署 GitLab CE 完整版教程
docker·容器·gitlab·gitlab docker部署·gitlab部署文档·gitlab部署·gitlab部署教程
llf_cloud2 小时前
docker compose滚动部署实践
运维·docker·容器
田里的水稻2 小时前
OE_ssh密钥_密钥种类和分别
运维·ssh
AI服务老曹2 小时前
统一视界:基于 Docker+GB28181+RTSP 的边缘计算 AI 视频管理平台协议兼容架构解析(附源码交付)
人工智能·docker·边缘计算
大明者省3 小时前
CentOS 与 Ubuntu Python 部署差异
笔记·python·ubuntu·centos