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

相关推荐
一叶龙洲6 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker8 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
BullSmall9 小时前
Anolis OS 8.10 完整安装 Docker CE(生产可用,解决 podman 冲突)
docker·容器·podman
keyipatience9 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
观山岳五楼11 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
辰痕~11 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu
梦梦代码精12 小时前
开源AI应用平台BuildingAI解析:插件化架构、应用市场与热门案例
人工智能·机器学习·docker·开源
我变秃了也没变强14 小时前
oepnssh版本升级
ssh
IT瑞先生15 小时前
Docker快速部署Mysql的三种方法——实操篇
mysql·adb·docker
梦远青城15 小时前
Docker 部署python的paddle进行OCR文字识别身份证
python·docker·ocr·paddle·身份证识别