🐳 Настройка Docker контейнера Ubuntu с доступом по SSH |

🐳 Настройка Docker контейнера Ubuntu с доступом по SSH

Мануал

Docker – это платформа с открытым исходным кодом, которая позволяет разработчикам автоматизировать развертывание, масштабирование и управление приложениями.

Это достигается путем создания легких, самодостаточных контейнеров, которые могут работать практически в любом месте.

SSH (Secure Shell) – это протокол, обеспечивающий безопасный канал через незащищенную сеть, обычно используемый для входа в другой компьютер по сети и выполнения команд.

В этой статье приводится пошаговое руководство по настройке контейнера Ubuntu Docker с доступом по SSH.

Прежде чем мы начнем, вам необходимо установить следующее программное обеспечение:

  • Docker: Вы можете установить Docker, по инструкциям в официальной документации Docker.
  • SSH-клиент: На Linux и MacOS клиент SSH обычно предустановлен. Пользователи Windows могут использовать PuTTY или встроенный SSH-клиент на Windows 10 и более новых версиях.

Шаг 1: Скачивание образа Ubuntu

Первым шагом будет извлечение образа Ubuntu из Docker Hub.

Docker Hub – это облачная служба регистрации, которая позволяет связывать репозитории кода, детали сборки и многое другое.

Используйте следующую команду:

docker pull ubuntu

Шаг 2: Создайте Dockerfile

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

🐳 Понимание инструкции Dockerfile VOLUME

Вы можете создать новый Dockerfile и открыть его в текстовом редакторе.

Вот пример Dockerfile для настройки SSH в контейнере Ubuntu:

# Используем официальный образа качестве родительского
FROM ubuntu

# Обновим систему
RUN apt-get update && apt-get upgrade -y

# Установим OpenSSH Server
RUN apt-get install -y openssh-server

# Настроим SSH
RUN mkdir /var/run/sshd
RUN echo 'root:THEPASSWORDYOUCREATED' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# Исправление входа в систему SSH. В противном случае пользователя выкидывает из системы после входа
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

#Открыть порт SSH
EXPOSE 22

# Запуск SSH
CMD ["/usr/sbin/sshd", "-D"]

Замените “THEPASSWORDYOUCREATED” на пароль, который вы хотите использовать для SSH.

Сохраните этот Dockerfile.

Шаг 3: Сборка образа Docker

Когда ваш Dockerfile готов, вы можете собрать образ Docker.

Как легко и быстро сравнить образы контейнеров

Используйте следующую команду:

docker build -t ubuntu-ssh .

Эта команда создаст образ из вашего Dockerfile и пометит его как ubuntu-ssh.

Шаг 4: Запуск контейнера Docker

Теперь вы готовы запустить свой контейнер Docker с помощью следующей команды:

docker run -d -p 2222:22 ubuntu-ssh

Система запустит ваш контейнер Docker в фоновом режиме (-d) и сопоставит порт 2222 вашей машины с портом 22 вашего контейнера Docker, который является портом SSH по умолчанию.

Шаг 5: Подключение к контейнеру Docker через SSH

Наконец, вы можете подключиться к своему контейнеру Docker через SSH.

Используйте следующую команду:

ssh root@localhost -p 2222

Вам будет предложено ввести пароль, который вы задали ранее в Dockerfile. Как только вы его введете, вы будете подключены к вашему контейнеру Ubuntu Docker по SSH!

Заключение

Docker и SSH – мощные инструменты в сфере devOps и разработки.

Интегрировав их, вы сможете создать более гибкую, более безопасную и более мощную среду разработки.

. Всегда помните о том, что для обеспечения безопасности и надежности вашей среды необходимо применять эффективные методы защиты, такие как смена паролей по умолчанию и регулярное обновление программного обеспечения.

см. также:

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий