当前位置: 首页 > 知识库问答 >
问题:

Spring Boot Cloud配置,GitLab,Docker和SSH设置

羊舌光赫
2023-03-14

我试图使用构建一个Spring Cloud应用程序,该应用程序利用托管在GitLab上的存储库来存储配置详细信息。我可以在本地机器上运行它。然而,由于需要SSH钥匙,我正在努力将其放置在容器中。例如,配置服务器的application.properties文件:

server.port=8888
spring.cloud.config.server.git.uri=git@gitlab.com:repo

我提到了这个问题;但是,我使用的是docker compose文件。

   # Use postgres/example user/password credentials
version: '3.2'

services:
  db:
    image: postgres
    ports:
      - 5000:5432
    environment:
      POSTGRES_PASSWORD: example
    volumes:
      - type: volume
        source: psql_data
        target: /var/lib/postgresql/data
    networks: 
      - app
    restart: always
  config:
    image: kellymarchewa/config_server
    networks:
      - app
    restart: always
  search:
    image: kellymarchewa/search_api
    networks:
      - app
    restart: always
    ports:
      - 8081:8081
    depends_on:
      - db
      - config
      - inventory
  inventory:
    image: kellymarchewa/inventory_api
    depends_on:
        - db
        - config
    ports:
      - 8080:8080
    networks:
      - app
    restart: always
volumes:
  psql_data:
networks: 
  app:

使用compose文件时,是否仍然可以从docker容器访问私有git repo?谢谢

共有1个答案

焦光霁
2023-03-14

解决此问题的两个步骤:

>

  • 在docker容器运行的本地机器中生成SSH密钥文件

    修改docker composer文件以添加卷选项来映射。从本地计算机到docker容器的ssh文件夹。

    config:
        image: kellymarchewa/config_server
        volumes:
        - /root/.ssh:/root/.ssh
        networks:
        - app
        restart: always
    

    这可以解决你的问题,如果你有任何问题,你可以合同我。

  •  类似资料:
    • 主要内容:创建SSH密钥SSH代表用于管理网络,操作系统和配置的Secure Shell或Secure Socket Shell,并且每次都不需要使用用户名和密码即可验证GitLab服务器。 您可以设置SSH密钥以提供计算机与GitLab之间的可靠连接。 在生成之前,您需要在系统中安装Git。 创建SSH密钥 步骤(1): 要创建SSH密钥,请打开命令提示符并输入命令,如下所示: 它会提示’输入保存密钥的文件():’,只

    • Docker Compose 安装方式 创建宿主机挂载目录:mkdir -p /data/docker/gitlab/gitlab /data/docker/gitlab/redis /data/docker/gitlab/postgresql 赋权(避免挂载的时候,一些程序需要容器中的用户的特定权限使用):chown -R 777 /data/docker/gitlab/gitlab /data

    • 主要内容:锁定一个特定的Runner,受保护的Runner,运行未标记的作业GitLab runner是一个构建实例,用于在多台机器上运行作业,并将结果发送到GitLab,并可将其放置在单独的用户,服务器和本地计算机上。 安装后,您可以将runner注册为共享或特定的。 “GitLab安装”一章介绍了runner的安装。 您可以通过使用特定或共享runner来为作业提供服务。 共享runner 这些runner对于多个具有相似要求的项目很有用。 您可以使用单个或少量Run

    • Secure SHell (SSH) 是一个通过网络登录其他计算机的程序,在远程服务器运行命令,和从一台机器移动文件到另一台。在不安全的网络中,它提供两台主机之间强大认证和安全加密的的通讯,被称为 SSH Port Forwarding (Tunneling)。通常情况下,它是使用为一个 Telnet 的加密版本。 在一个 Telnet 阶段作业,全部的通讯,包括用户名和密码,会用纯文本传输,让任

    • “Secure SHell (SSH)”是一个通过网络登录其他电脑的程序,在远程服务器运行命令,和从一台机器移动文件到另一台。在不安全的网络中,它提供两台主机之间强大认证和安全加密的的通讯,被称为“SSH Port Forwarding (Tunneling)”。通常情况下,它是使用为一个 Telnet 的加密版本。 在一个 Telnet 会话,全部的通讯,包括用户名和密码,会用纯文本传输,让任何

    • “Secure SHell (SSH)”是一个通过网络登录其他电脑的程序,在远程服务器运行命令,和从一台机器移动文件到另一台。在不安全的网络中,它提供两台主机之间强大认证和安全加密的的通讯,被称为“SSH Port Forwarding (Tunneling)”。通常情况下,它是使用为一个 Telnet 的加密版本。 在一个 Telnet 会话,全部的通讯,包括用户名和密码,会用纯文本传输,让任何