diff --git a/Docker/Dockerfile/Centos/Dockerfile-ssh b/Docker/Dockerfile/Centos/Dockerfile-ssh new file mode 100644 index 0000000..ffaa6ff --- /dev/null +++ b/Docker/Dockerfile/Centos/Dockerfile-ssh @@ -0,0 +1,34 @@ +FROM centos:7 + +# 设置环境变量(登录密码) +ARG ROOT_PASSWORD + +# 切换镜像源 +RUN mv /etc/yum.repos.d/* /tmp \ + && curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo + +# 安装SSH服务及相关工具 +RUN yum install -y \ + openssh-server \ + openssh-clients \ + passwd \ + sudo \ + vim \ + net-tools \ + iproute \ + which \ + && yum clean all + +# 配置SSH服务 +RUN ssh-keygen -A \ + && mkdir -p /var/run/sshd \ + && echo "root:${ROOT_PASSWORD}" | chpasswd \ + && sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config \ + && sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config \ + && sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config + +# 开放SSH端口 +EXPOSE 22 + +# 启动SSH服务 +CMD ["/usr/sbin/sshd", "-D"] \ No newline at end of file diff --git a/Docker/Dockerfile/Centos/README.md b/Docker/Dockerfile/Centos/README.md index 892c8f8..6943116 100644 --- a/Docker/Dockerfile/Centos/README.md +++ b/Docker/Dockerfile/Centos/README.md @@ -2,9 +2,37 @@ > 本文作者:丁辉 -# Centos 镜像构建 +# Centos -```bash -./build.sh -``` +- Centos 基础镜像构建 + + ```bash + ./build.sh + ``` + +- Centos 配置策略允许外部通过 SSH 登录 + + 1. 构建镜像 + + ```bash + docker build --build-arg ROOT_PASSWORD=password -t centos-ssh:7 -f Dockerfile-ssh . + ``` + + **参数解释** + + `ROOT_PASSWORD`:配置登录 Centos 默认 ROOT 密码 + + 2. 启动镜像并登录 + + ```bash + docker run --name centos -p 2222:22 -d centos-ssh:7 + ``` + + 3. 登录 + + ```bash + ssh -p 2222 root@IP + ``` + +