Я новичок в Docker и хочу скопировать файлы на локальный компьютер или с него напрямую в контейнер docker, находящийся на удаленном компьютере, без необходимости извлекать файлы из локального на удаленный компьютер и затем использовать docker cp, чтобы скопировать эти файлы в контейнер. В моем контейнере не установлен сервер S SH, и я не хочу перестраивать свой образ, чтобы включить его.
Я попробовал следующее решение, приведенное во втором ответе: Как выполнить S SH в Docker? . Я выполнил следующую команду на своей удаленной машине, на которой размещен Docker: docker run -d -p 2222:22 -v /var/run/docker.sock:/var/run/docker.sock -e CONTAINER=kind_tu -e AUTH_MECHANISM=noAuth jeroenpeeters/docker-ssh
, где kind_tu
- имя моего работающего контейнера.
На моей локальной машине я затем использовал: ssh -L 2222:localhost:2222 remote_account_name@remote_ip
, а затем scp -P 2222 test_file remote_account_name@remote_ip:/destination/path
(я также не знаком с переадресацией портов, поэтому не уверен, что мои нотации верны). При этом я получаю следующее:
ssh: connect to host remote_ip port 2222: Connection refused
lost connection
Может ли это быть проблемой с брандмауэром, поскольку удаленный компьютер находится в кампусе моей школы?
В целом, я не уверен если то, что я делаю, хоть отдаленно верно.