Создать контейнер с доступом по SSH Docker
Введение | |
Пример | |
Статьи про Docker |
Введение
В этой статье вы можете изучить пример создания контейнера с доступом по SSH
Пример
Скачаем образ (image) с CentOS
docker pull centos
Убедимся, что образ появился в списке
docker images
Создадим папку docker и перейдём в неё
mkdir docker
cd docker
Создадим папку centos-ssh и перейдём в неё
mkdir centos-ssh
cd centos-ssh
Создадим файл с найстройками ssh sshd_config и начнём его редактировать
touch sshd_config
vim sshd_config
Сделайте небольшой конфиг, например такой:
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecda_key
HostKey /etc/ssh/ssh_host_ed25519_key
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
UsePAM yes
Создайте Dockerfile и отредактируйте его, например, с помощью редактора vim
touch Dockerfile
vi Dockerfile
FROM centos
RUN yum -y update
RUN yum install -y openssh-server
RUN ssh-keygen -A
ADD ./sshd_config /etc/ssh/sshd_config
RUN echo root:Secret123 | chpasswd
CMD /usr/sbin/sshd -D
Соберите образ
docker build -t andrei-ubuntu/centos_ssh .
-t это сокращение от --tag задаёт название и тэг в формате 'name:tag'
тэг можно не указывать - это опционально
. означает - в текущей директории
Теперь запустите его
docker run -it -d --name node1 -p 2201:22 andrei-ubuntu/centos_ssh
Убедитесь, что его статус Up
docker ps -a
Если вы не знаете на каком вы IP выполните
ip a
Подключитесь по SSH
ssh root@192.168.0.100 -p 2201