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端口。

相关推荐
好奇的菜鸟17 小时前
WSL上的Ubuntu 24.04 (Noble Numbat) 配置阿里云镜像源,提速软件安装
linux·ubuntu·阿里云
q***965821 小时前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu
biter008821 小时前
Ubuntu 22.04 有线网络时好时坏?最终解决方案
linux·网络·ubuntu
德育处主任21 小时前
『NAS』轻松获取群晖自带的壁纸
服务器·docker
e***87701 天前
Node.js 与 Docker 深度整合:轻松部署与管理 Node.js 应用
docker·容器·node.js
k***82511 天前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
q***71011 天前
从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
docker·容器·node.js
HIT_Weston1 天前
44、【Ubuntu】【Gitlab】拉出内网 Web 服务:http.server 分析(一)
前端·ubuntu·gitlab
ArabySide1 天前
【ASP.NET Core】ASP.NET Core应用的Docker容器化与阿里云托管
阿里云·docker·asp.net
好奇的菜鸟1 天前
在 WSL 中安装 Docker
运维·docker·容器