构建RockyLinux镜像

# 使用 Rocky Linux 9.3 作为基础镜像
FROM rockylinux:9.3

# 维护者信息
LABEL maintainer="whm@example.com"

ENV LANG=zh_CN.GB2312
ENV NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

# 更新包索引并安装 vim
RUN dnf update -y && \
    dnf install -y vim

# 安装 OpenSSH 服务器
RUN dnf install -y openssh-server

# 设置 SSH 服务开机启动
RUN systemctl enable sshd

# 生成 SSH 主机密钥
RUN mkdir -p /etc/ssh && \
    ssh-keygen -A

# 清理缓存以减小镜像大小
RUN dnf clean all

# 修改root密码
RUN echo "root:root" | chpasswd

# 创建新用户
RUN useradd -m -s /bin/bash whm

# 设置新用户密码
RUN echo "whm:whm" | chpasswd

# 将用户添加到 wheel 组
RUN usermod -aG wheel whm

# 允许 wheel 组用户使用 sudo
RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/wheel

# 设置容器启动后的默认命令
# CMD ["/bin/bash"]
# 多个CMD命令只执行最后一个
# 启动 SSH 服务
CMD ["/usr/sbin/sshd", "-D"]    
docker build -t my-rockylinux .

# docker run --rm  # 在容器停止后自动删除容器
# -it:使容器以交互模式运行,并分配一个伪tty终端,允许在容器内部进行操作
docker run -it -p 5022:22 --name rockylinux.9.3 my-rockylinux
ssh whm@localhost -p 5022

# 查看系统版本信息
cat /etc/system-release
# 或者更详细的系统信息
cat /etc/os-release

20240910存在的问题:容器起来后,发现系统版本为Rocky Linux release 9.4 (Blue Onyx),高了一个小版本。