Docker 容器 SSHOpen 没有熬夜

Kar*_*son 4 ssh containers docker

我正在尝试创建一个包含 openssh 服务器的映像,并在调用运行命令时启动它。我采取了以下步骤:

docker pull ubuntu
docker run -d -it ubuntu bash
apt-get update
apt-get install openssh-server -y
exit
docker ps -a 
docker commit <CONTAINER ID> myimg
// tried the following three, same results
docker run -d myimg "/usr/sbin/sshd"
docker run -d myimg /usr/sbin/sshd -D
docker run -d myimg service ssh start
Run Code Online (Sandbox Code Playgroud)

这运行图像然后立即退出,我试图让服务跟上。我究竟做错了什么?

Kar*_*son 5

弄清楚了。安装 openssh-server 后必须创建一个目录。

错误: Missing privilege separation directory: /var/run/sshd

docker pull ubuntu
docker run -it ubuntu /bin/bash
apt-get update
apt-get install openssh-server -y
mkdir /var/run/sshd
service ssh stop
exit
docker ps -a 
docker commit <CONTAINER ID> myimg
docker run -d -p <PORT>:22 myimg /usr/sbin/sshd -D
Run Code Online (Sandbox Code Playgroud)