我试图使用构建一个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?谢谢
解决此问题的两个步骤:
>
在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 会话,全部的通讯,包括用户名和密码,会用纯文本传输,让任何