Я создаю образ Docker для приложения, которое требует ssh в localhost (i.e ssh user @localhost)
Я работаю на настольной машине Ubuntu и начинаю с базового контейнера ubuntu: 16.04. Ниже приведено содержание моего файла Docker:
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y \
openjdk-8-jdk \
ssh && \
groupadd -r custom_group && useradd -r -g custom_group -m user1
USER user1
RUN ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N "" && \
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Затем я создаю этот контейнер с помощью команды:
docker build -t test-container .
И запустите его, используя:
docker run -it test-container
Контейнер открывается следующей подсказкой, и ключи генерируются правильно, чтобы включить ssh в localhost:
[email protected]:/$
[email protected]:/$ cd ~/.ssh/
[email protected]:~/.ssh$ ls
authorized_keys id_rsa id_rsa.pub
Затем ssh в localhost и приветствуется ошибкой:
[email protected]:~$ ssh [email protected]
ssh: connect to host localhost port 22: Cannot assign requested address
Есть ли что-то, что я делаю неправильно или какие-либо дополнительные сетевые настройки, которые необходимо настроить? Я просто хочу ssh в localhost в запущенном контейнере.