Я пытаюсь создать образ, содержащий сервер 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
Это запускает изображение, а затем немедленно выходит, я пытаюсь заставить службу не отставать. Что я делаю не так?
Догадаться. Вы должны создать каталог после установки 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