docker centos ssh

  • systemctl start 不能使用
容器里面不运行后台服务
Failed to get D-Bus connection: Operation not permitted
  • 以特权模式运行容器
docker run --name centos7 -i -t -d -p 7022:22 -p 7080:80 --privileged=true  centos:7 /usr/sbin/init

docker exec -it centos7 /bin/bash
  • 安装openssh
yum install -y openssh
  • 安装openssh-server
yum install -y openssh-server
  • 安装openssh-clients
yum install -y openssh-clients
  • centos7 启动openssh
systemctl restart sshd
  • centos6 启动openssh
/etc/init.d/sshd start
如果你的问题是如何在 Docker 中创建一个带有 SSHCentOS 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,你可以根据需要进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值