Tag: git

Git克隆不能与npm一起工作

我试图从一个Docker容器中的npm克隆一个私人的Git仓库,但得到一个错误的Permission denied (publickey) 。 我在主机上用这个命令生成了一个SSH密钥: ssh-keygen -t rsa -b 4096 -C "myname@mydomain.com" 然后我把它添加到Bitbucket中, ssh-add -ed它,并用git clone进行testing,一切正常(在主机上)。 我也尝试npm install在我的项目文件夹和所有git克隆是好的。 我将id_rsa和id_rsa.pub文件复制到另一个文件夹,并在执行docker run时将此文件夹挂载到/root/.ssh 。 现在的问题是,当试图从该私人Git仓库克隆时, npm install会给出拒绝权限的错误。 我用bash进入容器,手动尝试npm install ,但得到了同样的错误。 我通过运行eval "$(ssh-agent -s)"确保ssh-agent已启动,然后通过运行ssh-add ~/.ssh/id_rsa确保已添encryption钥。 然后我再次尝试,但同样的问题。 但是,如果在同一个容器中,我只是尝试一个常规的git clone …那么它克隆就好了! 没有问题或任何事情。 我知道这是使用SSH密钥,因为如果我从Bitbucket中删除它,我得到一个权限被拒绝的错误。 然后,如果我重新添加到Bitbucket,它克隆罚款。 如何获得npm克隆正确? 在我使用的工作(在容器内)git clone命令是: git clone git@bitbucket.org:org/repo.git 和npm回购依赖线是: "repo": "git+ssh://bitbucket.org/org/repo.git" 完整的npm错误是: npm ERR! git clone ssh://bitbucket.org/org/repo.git Cloning into […]

Docker项目结构与子模块

我在我的项目中使用微服务。 每个微服务都在它自己的文件夹中,并且是自己的git仓库。 所有服务都在单独的docker容器中。 所以总的项目结构如下所示: project_root/ microservice1_folder -> Dockerfile, .git, files … microservice2_folder -> Dockerfile, .git, files … microservice3_folder -> Dockerfile, .git, files … docker-compose.yml 问题是, docker-compose.yml不在任何回购。 没有回购我可以git clone并把所有的服务与docker-compose up -d 。 有人可能会build议使用子模块,但我看不出将其整合到我的工作stream程中的方法。 使用当前的设置,我将每个微服务文件夹挂载到docker,这样我就可以进行更改,提交等等。 我如何使用子模块?

如何重用docker-compose项目?

我已经使用docker-compose为Web服务器定义了基本configuration,其中包括 db :基于MySQL映像,在启动时加载一些自定义模式和数据。 tomcat :基于Tomcat映像,在服务器启动时将Web应用程序(分解WAR文件)部署到Tomcat中。 Web应用程序连接到db容器以实现数据持久性。 两者通过docker-compose连接在一起,所以我可以通过docker-compose up -d启动两台服务器。 这很好。 我已经将docker-composeconfiguration,MySQL数据文件(SQL)和Web应用程序构件存储在Git仓库中,其他人可以克隆以便于本地设置。 现在我想使用这个基本configuration作为多个其他项目的起点:对于每个项目,我想使用基础项目,然后在其上进行构build。 我可以使用extendsfunction轻松地扩展docker-compose文件,但在这之前,我需要弄清楚如何重用整个项目,而不必重复它。 在每个项目中,我需要完整的“基础”项目,包括所有的Docker的东西,SQL文件和Web应用程序,然后我会在这里和那里添加东西,像不同的configuration,附加的Web应用程序,等等 什么是这样做的标准方式? 我曾经想过的一些事情: 使用Git的submodulefunction,我会在每个项目中创build一个“基本”子模块,并从那里使用基本function。 缺点: git submodule笨重的可用性(初始化,更新)。 使用Git的subtree特性,我将在每个项目中创build一个“base”目录作为Git子树。 比submodule更容易使用,但将整个“基础”项目(这将是巨大的)复制到每个新项目。 我错过了其他的select吗? 如何在不牺牲重用的前提下满足这些要求?

将开源应用程序代码的专用文件集成到devopspipe道中

我有一个Java应用程序作为我们整个项目的后端,我们所有的软件都是完全开源的。 问题如下: 我们使用Google的几个API密钥,SendGrid和MySQL数据库validation密钥。 所有这些都存储在application.properties文件中。 我们在GitHub上的代码是一样的,除了这些文件丢失。 目前的解决方法是他们只能在我们部署到Heroku的Heroku远程机器上使用。 每当我们想要部署一个变更时,我们切换到heroku分支,从主分支拉动变化并重新分支这个分支,最后推送它。 我们很快转向了cycle.io,运行集装箱化的应用程序,所以基本上我们转向了Docker 。 我们将有dockerized应用程序和一个MySQL Docker实例部署和相互通信。 引用Cycle 一个环境允许你组织和沟通你的容器。 当您从环境中的容器上单击“开始”时,networking会自动configuration,并通知其存在环境中的任何其他容器。 Cycle.io允许我们自动链接来自Docker Hub的图像,或者将一个git存储库与一个Dockerfile 。 它从那里捡起来,然后自动部署它。 我的问题是,我如何将这个私人文件集成在我的代码构buildtesting部署pipe道? 。 天真地,我正在想方设法在构build之前“注入”这些文件。 我不知道该怎么做。 我目前的docker部署的想法是 在我的本地系统上构build一个docker镜像 将其推送到Docker Hub到一个私有存储库,并允许与Docker集线器集成的cycle.io从那里接收它 (我也想整合Tavis / CI,idk怎么样) 有没有SENSIBLE ,或缺乏另一个词,这样做PRO的方式? 我们是一群希望遵循最佳实践的学生,这个应用程序将会扩大规模。 我们已经完全支付部署和域名通行证等,但我们并没有真正的专家指导。

安装禁用注册的Gitlab

我正在构build一个包含Gitlab实例的自动部署平台。 这个Gitlab实例在Docker中,它通过Ansible进行部署。 我想在部署它之前自定义Gitlab设置,但是在阅读了一些文档之后,我找不到如何在不使用pipe理HMI的情况下禁用注册。 有人说:“ 修改/etc/gitlab/gitlab.rb添加一个参数来禁用注册 ”:我没有这个文件在我的文件系统上,它不能在我的机器上工作。 我也尝试修改文件gitlab.yml,我重新启动我的docker后,我的设置被删除。 它不起作用。 我可以使用API​​,但我需要pipe理令牌,只能通过其HMI(原文如此)访问。 我可以改变我的gitlab实例的数据库…但是这个简单的设置是一个复杂的操作。 任何build议?

docker快速入门terminal – 叉:重试:没有subprocess

已安装的Docker Toolbox for Windows,但在运行Docker Quickstartterminal后,我得到错误: 机器信息: Windows 10 Home x64; Docker工具箱; Bash,Git安装;

错误:无法取消链接旧的'gulpfile.js'(权限被拒绝),而使用Docker Compose的开发环境

我正在开发一个PHP 7.1 Web应用程序使用以下内容: Symfony 3.2 Docker Compose 1.12.0 Ubuntu 16.04 x64 当运行docker-compose up -d ,我的绑定安装项目目录的所有者和组被更改为root。 因此,每当我尝试提交更改或从我的远程git pull ,我会看到以下内容: error: unable to unlink old 'gulpfile.js' (Permission denied) fatal: Could not reset index file to revision 'HEAD^'. 将项目目录的所有者和组更改回我的用户将删除该错误。 在使用Docker Compose进行开发时,是否有更简单的方法来防止这些用户权限冲突? 编辑 这是我目前的目录结构的概述: dockerComposeAndProjectDir/ |– projectDirectory/ |– dockerComposeDirectory/ |– docker-compose.yml

更新Gogs的SSH密钥通过文件replace?

我正在运行docker版的gogs。 它目前正在使用我的SSH密钥,我想刷新此密钥。 是否有可能将我生成的新密钥直接复制到支持dockerconfiguration文件的docker数据卷中,而不是通过ui?

git ssh无法访问docker容器中的gitlab

我在一个容器中安装了gitlab,它已经是EXPOSE 22 。 当我ssh -vv git@host.com我不能访问SSH公钥,只有密码方法的作品。 我怎样才能获得ssh访问docker集装箱? 谢谢。

将networking存储附加到Gitlab的Docker容器(ssh问题)

我正在使用Docker在我的Web服务器上安装Gitlab 。 一切工作都像一个冠军,直到我尝试使用我的NAS作为存储文件夹。 我希望这是行得通的: 使用/ etc / fstab将NFS共享挂载到本地文件夹: 192.168.1.103:/gitlab /home/user/gitlab_data nfs rsize=8192,wsize=8192,timeo=14,intr 使用以下卷连接运行Docker: sudo docker run -v /home/user/gitlab_data:/home/git/data ….. 和应用程序的工作,直到我试图用ssh推入回购。 我得到:连接拒绝,确保你有适当的权限…. 要清楚,我不会遇到这个错误,如果我挂载本地文件夹,所以我相对有信心,这不是一个SSHconfiguration问题。 我的印象是,这个卷的方法是创build什么是function上的一个符号链接,在整个安装文件明确禁止链。 我的问题是: 如何将我的NAS上的文件夹连接到我的Gitlab Docker容器,使其不会触发此ssh / symlink失败? 我已经search了如何直接连接驱动器的文档,但没有任何事情已经完成了。 我没有办法将它绑定到NFS上,因为我读了Docker支持它们的地方。 欢呼声,贝尔