docker下安装ubuntu, 无需手动启动ssh的两种方法
方法一:在 Dockerfile 中自动启动 SSH 服务
在您的 Dockerfile 文件中添加以下命令:
apt-get update && \ apt-get install -y openssh-server && \ mkdir -p /run/sshd && \ echo 'root:password' | chpasswd && \ sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \ service ssh start && \ service ssh stop
上述命令安装了 OpenSSH 服务,并且在最后启动 SSH 服务,并立即停止。这将使 Docker 容器在启动时自动启动 SSH 服务。
方法二:在启动容器时使用参数自动启动 SSH 服务
您可以在启动容器时使用 -d 参数和 --restart 参数自动启动 SSH 服务。例如:
docker run -d --restart=always -p 22:22 --name ubuntu-ssh ubuntu:latest /usr/sbin/sshd -D
上述命令在容器中启动 SSH 服务,并将容器的 22 端口映射到宿主机的 22 端口上。--restart 参数将确保容器在停止或退出后自动重启,并始终处于运行状态。
需要注意的是,在使用此方法时,需要将 SSH 服务的 -D 参数放在容器名称之后。
希望这些方法可以帮助您自动启动 SSH 服务。