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

相关推荐
视觉AI3 小时前
VS Code Remote-SSH 连接Jetson踩坑完整解决记录(网段不通+主机密钥变更双重故障)
运维·网络·人工智能·windows·ssh·边缘计算
nuo5342027 小时前
基础 6 —— Docker 容器数据卷
docker·容器
Sinclair7 小时前
安企CMS的安装-Docker 部署
运维·docker·容器
要开心吖ZSH8 小时前
AI医疗分诊与健康咨询助手agent开发——(4-2)从零到一:我给AI医疗分诊助手加了个“知识库大脑“,终于搞懂了RAG是什么
java·docker·agent·医疗·rag
汪汪大队u9 小时前
【无标题】
运维·docker·kubernetes·prometheus
spider_xcxc11 小时前
Docker Compose 容器通信详解:同一个 Compose 文件才能互通吗?
docker·容器·k8s·容器化·容器网络
BaiduPHP13 小时前
docker异常断电,出现docker服务,启动失败
docker·容器·eureka
梦梦代码精15 小时前
多商户商城技术选型实测:ThinkPHP 8与Vue 3结合,B2B2C架构下的开源实践
docker·开源·代码规范
寒冰碧海15 小时前
大模型部署从0到1(三):单机多卡 vLLM 部署Qwen3.6实战|Docker Compose 一键启动
docker·容器·vllm
chexus16 小时前
Docker 镜像瘦身:使用 Maven 拆分 Jar 包
docker·maven·jar