---
title: 'Как подключиться к Docker контейнеру по sFTP | Zomro'
description: 'Подключение к Docker контейнеру по sFTP может быть полезным для разработчиков, которые работают с файлами внутри контейнера. Например, если вы разрабатываете веб...'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677414931_4.png'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Как подключиться к Docker контейнеру по sFTP 



# Как подключиться к Docker контейнеру по sFTP

26-02-2023

Подключение к Docker контейнеру по sFTP может быть полезным для разработчиков, которые работают с файлами внутри контейнера. Например, если вы разрабатываете веб-приложение и хотите загрузить файлы на сервер, вы можете подключиться к контейнеру по sFTP и загрузить файлы на сервер из своей среды разработки.  
Дополнительно, при подключении к Docker контейнеру по sFTP, можно использовать различные функции sFTP для управления файлами. 

##   
  
**Развертывание Docker контейнера по sFTP.**

  
  
Для подключения к Docker контейнеру по sFTP сначала необходимо создать контейнер, который будет запущен на удаленном сервере. Для этого можно использовать команду docker run. Например, для запуска контейнера с nginx на 2222 порте и установкой OpenSSH можно использовать следующие команды:  

    
    
    docker run -d -p 2222:22 --name nginx_latest nginx
    
    
    docker exec -it nginx_latest apt-get update
    
    
    docker exec -it nginx_latest apt-get install -y openssh-server

  
![Как подключиться к Docker контейнеру по sFTP - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677414931_4.png)  


Эти команды создадут новый контейнер, названный "nginx_latest", на основе образа Nginx и установит OpenSSH внутри контейнера. 

##   
  
**Установка пароля для выбранного пользователя.**  
  
Установите пароль для root (или любого другого пользователя, с которым вы хотите подключиться), выполнив команду:
    
    
    docker exec -it nginx_latest passwd root

  
Введите пароль дважды.  


  
![Как подключиться к Docker контейнеру по sFTP - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677414919_33.png)

  * Отредактируйте в контейнере файл /etc/ssh/sshd_config, заменив **PermitRootLogin without-password** на **PermitRootLogin yes**. Что бы подключится и отредактировать его, используйте следующую команду:


    
    
    docker exec -it nginx_latest bash

  


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

  
  
![Как подключиться к Docker контейнеру по sFTP - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677414927_66.png)

  * Перезапустите ssh-сервер, выполнив команду:


    
    
    /etc/init.d/ssh restart

  
![Как подключиться к Docker контейнеру по sFTP - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677415025_55.png)  


## **Подключение к Docker контейнеру по IP с помощью sFTP.**

  
  
  
Для этого необходимо определить IP-адрес контейнера и порт, на котором запущен SSH-сервер. Это можно сделать, используя команду **docker inspect**. Например, если контейнер запущен на порту 2222, можно использовать следующую команду для получения IP-адреса:
    
    
    docker inspect --format '{{ .NetworkSettings.IPAddress }}' nginx_latest
    

  
![Как подключиться к Docker контейнеру по sFTP - 5](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677414897_44.png)  
  


Эта команда вернет IP-адрес контейнера. Затем можно подключиться к контейнеру по sFTP, используя учетные данные пользователя, установленные внутри контейнера. Например, с помощью команды sftp:
    
    
    sftp root@172.17.0.4
    

  


Где root- имя пользователя, установленного внутри контейнера, а ip-address - IP-адрес контейнера (172.17.0.4), полученный с помощью команды **docker inspect**.

  
  
![Как подключиться к Docker контейнеру по sFTP - 6](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677414823_6.png)  


## **Подключение с помощью FileZilla.**

  1. В меню "Файл" выберите "Управление сайтами" (или используйте горячую клавишу "Ctrl+S").

  2. В окне "Управление сайтами" нажмите кнопку "Новый сайт" и введите имя вашего сайта.
  3. В полях "Хост", "Порт", "Имя пользователя" и "Пароль" введите соответствующие значения, используя информацию из вашего Docker контейнера. По умолчанию, имя пользователя - "root", а порт - "2222".
  4. В выпадающем списке "Протокол" выберите "SFTP - SSH File Transfer Protocol".
  5. Нажмите "Соединиться". Если все настройки верны, вы должны быть подключены к вашему Docker контейнеру по sFTP через sFTP-клиент.



![Как подключиться к Docker контейнеру по sFTP - 7](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677415617_7.png)  


Теперь вы сможете подключиться к Docker контейнеру по sFTP, передавать файлы и выполнять другие операции с файлами на удаленном сервере.

​​​​​​​Также предлагаем рассмотреть другие полезные статьи:

  * [Как скопировать данные с хоста в Docker и из Docker на хост](https://zomro.com/rus/blog/faq/284-kak-skopirovat-dannye-s-hosta-v-docker-i-iz-docker-na-host)
  * [Список важных команд для работы с Docker-compose](https://zomro.com/rus/blog/faq/304-spisok-vazhnyh-komand-dlja-raboty-s-docker-compose)
  * [Как установить Redis в Docker и Docker Compose](https://zomro.com/rus/blog/faq/301-kak-ustanovit-redis-v-docker)



Похожие статьи

[Проверка использования диска в ОС Linux](https://zomro.com/rus/blog/faq/393-proverka-ispolzovaniya-diska-v-os-linux) [Rsnapshot на Ubuntu: практичный гайд по инкрементным бэкапам](https://zomro.com/rus/blog/faq/681-rsnapshot-on-ubuntu-a-practical-guide-to-incremental-backups) [Как добавить раздел подкачки SWAP в OS Linux](https://zomro.com/rus/blog/faq/313-kak-dobavit-razdel-podkachki-swap-v-os-linux) [n8n в продакшене: Повышаем надёжность и масштабируемость с Docker Swarm](https://zomro.com/rus/blog/faq/620-n8n-in-production-increasing-reliability-and-scalability-with-docker-swarm) [Настройка DNS-сервера BIND9 на Linux для внутренней сети](https://zomro.com/rus/blog/faq/714-setting-up-a-bind9-dns-server-on-linux-for-an-internal-network)

[ Выделенный сервер с GPU от €174.80/мес ](/dedicated-servers/type=gpu)
