#node.js #azure #ssh #dockerfile #port
#node.js #azure #ssh #dockerfile #порт
Вопрос:
У меня возникли проблемы с включением ssh-соединения для моего веб-приложения Azure (node js express server). Я добавил этот код в свой Dockerfile.
RUN apt-get update
amp;amp; apt-get install -y --no-install-recommends openssh-server
amp;amp; echo "root:Docker!" | chpasswd
EXPOSE 2222 80
при входе в ssh в Azure я получаю это сообщение:
SSH CONNECTION CLOSE - Error: connect ECONNREFUSED 172.16.207.2:2222
что еще мне нужно сделать, чтобы это сработало?
Комментарии:
1. Есть какие-либо обновления по этому вопросу? Решает ли это вашу проблему? Если это работает для вас, пожалуйста, примите это.
Ответ №1:
Причина, по которой вы не можете подключиться к контейнеру, даже если вы включаете SSH, следуя инструкциям, заключается в том, что вы пропускаете один шаг для завершения настройки. Шаг заключается в том, что вам также необходимо изменить порт, который прослушивает SSH, на порт 2222 в sshd_config
файле. То, что вы сделали, просто предоставляет порт 2222, но не заставляет SSH прослушивать его.
Самый простой способ — скопировать sshd_config
здесь, а затем добавить строки, подобные этой:
ENV SSH_PORT 2222
COPY sshd_config /etc/ssh/
Ответ №2:
Можете ли вы попробовать с этим?
# ssh
ENV SSH_PASSWD "root:Docker!"
RUN apt-get update
amp;amp; apt-get install -y --no-install-recommends openssh-server
amp;amp; echo "$SSH_PASSWD" | chpasswd
COPY sshd_config /etc/ssh/
EXPOSE 8000 2222