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

相关推荐
程序员老油条4 小时前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
大侠锅锅5 小时前
第 4 篇:策略模式实践——用统一接口管理 Docker 容器、原生进程与 K3s Pod
docker·容器·边缘计算·策略模式·iot
艾莉丝努力练剑5 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
Tian_Hang7 小时前
Eclipse Ditto 的权限策略
java·服务器·前端·网络·ide·ubuntu·eclipse
小蓝波7 小时前
docker 的命令
java·docker·容器
2301_801184759 小时前
docker 工作
java·docker·容器
单位圆的日常10 小时前
FRP反向隧道实现异地SSH家用Linux
linux·运维·ssh·frp
至乐活着10 小时前
ELK日志系统从零搭建到实战:Nginx日志采集与可视化全攻略
nginx·elk·elasticsearch·docker·日志系统
tjl521314_2111 小时前
Git SSH Host Key Verification Failed 问题排查与解决
运维·git·ssh
想你依然心痛11 小时前
AtomCode 在 DevOps 场景中的实战:CI/CD 流水线脚本自动生成
运维·ci/cd·docker·devops·自动化部署·github actions