Linux

配置 Docker SSH git 訪問

  • December 22, 2015

我有以下設置

執行 GitLab CE docker 實例的 Ubuntu 14.04 Linode。我使用 NGinx 作為所有網路流量的反向代理,伺服器名 gitlab.xxx.be 用於訪問網路界面。

至於與網路相關的東西,我在配置方面沒有問題……但 SSH 是個問題。如何啟動和執行 SSH git 訪問?

基本上我需要將 gitlab.xxx.be 的所有 SSH 流量從我的 linode 伺服器轉發到 docker 實例。這怎麼能輕鬆完成?

感謝您的幫助…

基本上我需要將 gitlab.xxx.be 的所有 SSH 流量從我的 linode 伺服器轉發到 docker 實例。這怎麼能輕鬆完成?

OpenSSH 伺服器守護程序必須在您的 docker 容器上執行。如果使用的 docker 鏡像沒有配置 OpenSSH,那麼您需要創建一個繼承自該 GitLab 鏡像的 Dockerfile,使用 SSH 功能對其進行擴展,建構新鏡像並執行一個新容器。

如果您使用此映像,則必須包含 OpenSSH https://hub.docker.com/r/gitlab/gitlab-ce/~/dockerfile/

生成 SSH 密鑰並將公鑰放入文件中/var/opt/gitlab/.ssh/authorized_keys(OpenSSH 公鑰格式)。

並且在您使埠轉發 Nginx -> GitLab Web 界面在 Docker 上執行的同時,您還可以將主機系統中的任何可用埠轉發到正在執行的 docker 容器中的 SSH 埠(虛擬範例:)docker run -d --name appName -p 2222:22 -v gitlab_data gitlab_image

引用自:https://serverfault.com/questions/744643