Tag: git

在运行RStudio的守护程序Docker中使用ENVvariables

我能够build立一个默认的ENVvariables的Dockerfile ,然后我可以在运行我的docker容器时configuration,例如在一个Dockerfile我有行: ENV USERNAME ropensci ENV EMAIL ropensci@github.com RUN git config –global user.name $USERNAME RUN git config –global user.email $EMAIL 大。 当我启动互动会议时: docker run -it –env USERNAME="Carl" –env EMAIL=cboettig@example.com myimage /bin/bash 然后,我可以发出命令git config –list ,看到git被configuration为使用我在命令行上提供的值而不是默认值。 但是,我的Dockerfile也被configuration为运行一个RStudio服务器,然后我可以在Daemon模式下运行镜像时login到浏览器中: docker run -d -p 8787:8787 –env USERNAME="Carl" –env EMAIL=cboettig@example.com cboettig/ropensci-docker 我去本地主机:8787,并login到RStudio所有预期的工作,启动一个新的“项目”启用了Git,但后来RStudio找不到我的Git名称和电子邮件。 我可以从RStudio菜单打开shell并运行git config –list或echo $USERNAME ,我只是得到一个空值。 为什么这对/ bin / […]

将variables作为parameter passing给Docker容器

我希望能够在dockerfile中声明一个variables,并在容器运行供用户提供时将其作为parameter passing。 该variables实际上是一个git中心url,需要在容器中克隆。 到目前为止,我想到了声明一个ENVvariables,并在运行命令中使用-e传递它。 我怎么能把一个variables传递给docker run命令?

使用docker-compose在现有的git repo Django项目上进行协作

我刚刚开始使用Docker,我想用它来容纳一个〜7协作者正在开发的Django项目,并且我希望我们中的一些人可以select使用Docker来加速Docker的入门过程。build立当地的发展环境。 我们正在使用的应用程序是一个Django应用程序,使用Postgres / PostGIS和一些其他依赖项。 到目前为止,我已经学习了这个教程 ,通过创build一个新的Django项目,并使用docker-compose将它放在容器中运行。 我的问题与使用docker-compose与许多其他人在现有的Django项目上合作的工作stream程有关。 如果我们使用Docker的人遵循本教程中所示的类似模式,而不是创build一个新项目,只需克隆存储库并按照教程进行操作即可? 对不起,如果这个问题没有意义。 我只是想知道我的用例是否适合docker工人/docker工作者,如果我提出的是合理的话。

无法在Docker容器中使用fig / crane执行git命令

我使用起重机来协调我的容器,并且我的项目资源(一个NodeJS应用程序)有一个git子模块。 当我尝试在我的项目根目录bower install时运行我的容器时,会发生此错误: bower jquery#~2.1.1 ECMDERR Failed to execute "git ls-remote –tags –heads git://github.com/jquery/jquery.git", exit code of #128 Additional error details: fatal: Not a git repository: ../../.git/modules/src/web 这是我的crane.ymlconfiguration文件: containers: db: dockerfile: images/db image: project/db run: detach: true web: dockerfile: images/web image: project/web run: volume: ["src/web:/src"] publish: ["8000:8000"] link: ["db:mongo"] detach: true 这是我的fig.yml db: build: images/db […]

运行Docker-client Java API时,Apache Connection被拒绝

我正在尝试安装Docker客户端远程API库( https://github.com/spotify/docker-client )来执行一些图像search并检查图像数据(全部在公共存储库中)。 我有boot2docker虚拟机下载,安装并运行。 诸如“Docker pull ubuntu”之类的命令工作正常,但是现在我想通过Java程序来完成这个任务。 我使用Eclipse IDE Egit插件来导入github项目,并从现有的Master分支创build一个Maven / Java项目。 源代码完全导入,没有错误报告。 然后我试着写一个简单的testing: final DockerClient docker = DefaultDockerClient.fromEnv().build(); //docker.pull("busybox"); List<ImageSearchResult> results = docker.searchImages("ubuntu"); for (ImageSearchResult res : results) { System.out.println(res.getName()); } 但是,在Eclipse中运行代码时,出现以下错误: Exception in thread "main" com.spotify.docker.client.DockerException: java.util.concurrent.ExecutionException: javax.ws.rs.ProcessingException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:2375 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect at com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:1109) at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:1028) at […]

为什么没有使用“docker run image command”启动容器的日志?

我使用docker run genezys/gitlab:7.5.2命令来创build并启动一个容器: [root@localhost ~]# docker run genezys/gitlab:7.5.2 /opt/gitlab/embedded/bin/runsvdir-start: line 34: ulimit: max user processes: cannot modify limit: Operation not permitted /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system [2015-05-05T05:43:02+00:00] INFO: Forking chef instance to converge… …… 我可以看到有在terminal输出的日志。 但是当我用docker run genezys/gitlab:7.5.2 /bin/true命令: [root@localhost ~]# docker run genezys/gitlab:7.5.2 /bin/true [root@localhost ~]# 没有输出日志。 为什么没有使用docker run image command启动容器的日志?

构buildDocker镜像时无法使用私钥进行SSH

在Docker镜像构build期间,我无法检出托pipe在GitHub上的私有git存储库。 SSH在详细模式下的错误是: OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to github.com [192.30.252.130] port 22. debug1: Connection established. debug1: permanently_set_uid: 0/0 debug1: identity file /root/.ssh/id_rsa type -1 debug1: identity file /root/.ssh/id_rsa-cert type -1 debug1: identity file /root/.ssh/id_dsa type -1 debug1: identity file […]

.dockerignore所有子文件夹,而不是文件夹本身的文件

我有一个如下所示的文件夹结构。 我想忽略.git所有子文件夹(及其所有内容),但包括直接在.git所有文件(例如,FETCH_HEAD和HEAD)。 如何在.dockerignore文件中编写该文件。 .git ├── COMMIT_EDITMSG ├── FETCH_HEAD ├── HEAD ├── description ├── hooks │ ├── applypatch-msg.sample │ ├── commit-msg.sample │ ├── post-update.sample │ ├── pre-applypatch.sample

jenkins:运行构build不configurationdocker奴隶

我使用docker-plugin 0.10.0运行Jenkins 1.609.1来configurationjenkins docker slave。 Docker是在Ubuntu 14.04上运行的1.0.1。 我在https://wiki.jenkins-ci.org/display/JENKINS/Docker+Plugin(“Shortcut:Pulling a Docker image”)上创build了一个基于evarga/jenkins-slave每个指令的定制evarga/jenkins-slave镜像。 在我的Jenkinsconfiguration中, 将“Docker”添加到“Cloud”区域 指向本地docker的URL http:// localhost:4243 /,并且也正确地configuration了docker(我可以运行“Test connection”并且返回“1.0.1”) 使用supervisord创build一个自定义的my/jenkins:0.1 ( my/jenkins:0.1 )图像,在里面运行SSH,MySQL,Postgres,ElasticSearch,PHP和NodeJS 手动运行容器,我可以与用户jenkins / jenkins SSH里面 我也给容器密码sudo权限的jenkins用户 我已经添加了一个docker图像到“Doc​​ker模板”(如上: my/jenkins:0.1 ),并通过“Docker SSH启动器”提供启动方法 在作业configuration中: 我选中了“Docker容器” 加了我的标签 源代码通过git checkout连接 当我运行这个工作时,只执行git checkout,但不是在slave上,而是直接在主机上: Started by user MyUser Building in workspace /var/lib/jenkins/workspace/Project-Core > git rev-parse –is-inside-work-tree # timeout=10 Fetching changes from […]

sshd将git用户的login信息转发到(GitLab)Docker容器

我想在我的主机上configurationsshd,将某个用户的公钥login转发到一个运行自己的sshd服务的Docker容器。 为了给出一些上下文,我让GitLab在一个Docker容器中运行,并且我不喜欢在主机上打开另一个用于SSH GitLab通信的端口,而是在主机上使用sshdredirect用户,直接键入GitLab在本地公开的端口机。 我的想法是做这样的事情: Match User git ForceCommand ssh -p <GitLab port> <some arguments that forward to> git@localhost … 非常感谢帮助!