Назад | Перейти на главную страницу

Настройка доступа к Docker SSH через git

У меня следующая установка

Ubuntu 14.04 Linode с экземпляром докера GitLab CE. Я использую NGinx как обратный прокси для всего веб-трафика, имя сервера gitlab.xxx.be используется для доступа к веб-интерфейсу.

Что касается веб-вещей, у меня нет проблем с настройкой ... но SSH - проблема. Как я могу получить доступ к SSH git?

В основном мне нужно перенаправить весь трафик SSH для gitlab.xxx.be с моего сервера linode на экземпляр докера. Как это легко сделать?

Спасибо за помощь ...

В основном мне нужно перенаправить весь трафик SSH для gitlab.xxx.be с моего сервера linode на экземпляр докера. Как это легко сделать?

В вашем докер-контейнере должен быть запущен демон сервера OpenSSH. Если используемый образ докера не подготавливает OpenSSH, вам необходимо создать файл Dockerfile, наследующий от этого образа GitLab, расширить его с помощью возможностей SSH, создать новый образ и запустить новый контейнер.

Если вы используете этот образ, OpenSSH должен быть включен https://hub.docker.com/r/gitlab/gitlab-ce/~/dockerfile/

Сгенерируйте ключ SSH и поместите открытый ключ в файл /var/opt/gitlab/.ssh/authorized_keys (Формат открытого ключа OpenSSH).

И так же, как вы сделали переадресацию портов Nginx -> GitLab Web-интерфейс, работающий на Docker, вы также можете перенаправить любой доступный порт из хост-системы на порт SSH в работающем контейнере докера (фиктивный пример: docker run -d --name appName -p 2222:22 -v gitlab_data gitlab_image).