docker centos7ssh
时间: 2023-06-22 09:42:03 浏览: 133
如果你的问题是如何在 Docker 中创建一个带有 SSH 的 CentOS 7 镜像,可以按照以下步骤操作:
1. 创建一个 Dockerfile 文件,内容如下:
```
FROM centos:7
RUN yum -y install openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:password' | chpasswd
RUN sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN ssh-keygen -A
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
```
这个 Dockerfile 文件会从官方的 CentOS 7 镜像开始构建,安装 SSH 服务,并设置 root 用户的密码为 password。同时,它会修改 SSH 配置文件,允许 root 用户登录,并生成 SSH 密钥。
2. 在 Dockerfile 文件所在的目录下,执行以下命令构建镜像:
```
docker build -t centos7ssh .
```
这个命令会在当前目录下构建一个名为 centos7ssh 的镜像,用于运行 CentOS 7 并启动 SSH 服务。
3. 运行镜像并登录到容器中:
```
docker run -d -p 2222:22 --name centos7ssh centos7ssh
docker exec -it centos7ssh /bin/bash
```
这个命令会在后台运行一个名为 centos7ssh 的容器,并将容器的 22 端口映射到本地的 2222 端口。然后,它会登录到容器中,并启动一个交互式的 bash shell。
现在,你可以使用 SSH 客户端连接到本地的 2222 端口,以 root 用户身份登录到容器中了。例如,使用以下命令连接到容器:
```
ssh root@localhost -p 2222
```
当然,这里的密码是刚才在 Dockerfile 文件中设置的 password,你可以根据需要进行修改。
阅读全文