SSH в вашем контейнере

circle-exclamation

Изменение вашего Dockerfile

Мы будем собирать контейнер Docker, используя другой Docker Dockerfile в этой версии.

Нам нужно установить службу OpenSSH и включить её. Создайте пользователя и пароль для подключения к вашему серверу.

В контейнере, запущенном на Alpine, объедините следующее:

RUN apk --update add --no-cache openssh bash
RUN sed -i s/#PermitRootLogin.*/PermitRootLogin\ yes/ /etc/ssh/sshd_config
RUN echo "tester:$ecureP@ss" | chpasswd

EXPOSE 22

В контейнере, запущенном на Ubuntu, добавьте следующее:

RUN apt-get update
RUN apt-get install openssh-server sudo -y

RUN useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1000
RUN echo 'tester:$ecureP@ss' | chpasswd

EXPOSE 22

В вашем entrypoint вам нужно будет добавить следующую команду:

Мы рекомендуем протестировать развертывание локально, используя команду docker run, чтобы проверить запуск сервера.

После тестирования вы можете запушить вашу новую версию в репозиторий контейнеров.

На Edgegap

Мы предлагаем иметь версию с именем -dev или что-то, что имеет смысл для вашего сервиса. Таким образом у вас будет возможность выполнить некоторые тесты и легко войти в ваш контейнер с использованием инфраструктуры Edgegap.

  1. Создайте новую версию вашего приложения, добавив Открыть TCP-порт 22

  2. Создайте развертывание, используя только что созданную версию

  3. Как только служба запущена (Ready), посмотрите информацию о вашем развертывании. Вы увидите внешнее отображение порта 22.

  4. Вы можете использовать Putty и подключиться, используя FQDN развертывания или IP и отображаемый порт

  5. Имя пользователя и пароль, которые вы настроили.

Последнее обновление

Это было полезно?