Tag: git

我如何使用git commit id作为maven中的docker image标签?

我正在试图build立一个Maven Java项目的Docker镜像,并分别在安装和部署阶段推进; 我希望这些图像被标记为当前的git commit id。 我面临的问题是, maven-git-commit-plugin似乎没有正确导出${git.commit.id.abbrev}variables,以便在${git.commit.id.abbrev} -maven-plugin中使用 。 我的父母pom.xml是这样的: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <name>myproject</name> <groupId>mygroup</groupId> <artifactId>myartifact</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>mymodule</module> </modules> <properties> <!– dependency versions –> <!– some stuff here…–> <!– plugin versions –> <maven.enforcer.plugin.version>1.4.1</maven.enforcer.plugin.version> <maven.shade.plugin.version>2.4.2</maven.shade.plugin.version> <scala.maven.plugin.version>3.2.2</scala.maven.plugin.version> <com.spotify.docker.plugin.version>0.3.8</com.spotify.docker.plugin.version> </properties> <dependencyManagement> <dependencies> <!– some stuff here…–> </dependencies> </dependencyManagement> <build> <pluginManagement> […]

Docker:赋予容器用户写入主机目录的权限

我试图在Docker中运行KIE Drools Workbench。 如果我停止容器,我失去了我的git回购,这是越来越烦人(因为KIE UI强迫你一个一个的上传你的规则)。 相反,我希望容器使用主机目录为其git回购。 所以我试图映射一个本地主机目录/ opt / git到我认为它存储git回购的地方 docker run -v /opt/git:/opt/jboss/wildfly/bin/.niogit -d –name drools-brms jboss/brms:6.3.0.Final 但是我得到: Caused by: java.io.IOException: Creating directories for /opt/git/.niogit/system.git failed / opt / git在主机上由root拥有。 有什么办法给只存在于容器中的jboss用户授予chown权限吗? 看起来不像这样:/

Docker克隆私人回购 – 权限被拒绝

作为团队成员,我使用bitbucket回购。 我的笔记本电脑上有多个标识,比如说id_rsa,然后部署我生成的 id_rsa: ssh-keygen 部署: ssh-keygen -f ~/.ssh/deploy -C "deploy" 和一个configuration文件 Host bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/id_rsa Host deploy HostName bitbucket.org IdentityFile ~/.ssh/deploy 在我的bitbucket帐户中,我使用id_rsa密钥为我的帐户设置了一个SSH密钥,然后在我的回购站中使用deploy密钥设置了一个SSH密钥。 在命令行中,当我试图将我的repo克隆为git clone git@deploy:<team_account_username>/<repo_name> ,我被要求在第一次input密码,但不是在那之后。 然后我试图用Docker克隆我的回购: # Use anaconda docker image from ContinuumIO FROM continuumio/anaconda # Make ssh dir RUN mkdir /root/.ssh/ # Copy over private key, and set permissions ADD deploy […]

Docker jenkins容器,主机密钥validation失败

我正在用Vagrant,Ansible和Docker创buildCIpipe道和开发环境。 我的目标是通过一个命令自动完成一切,而不需要手动configuration。 通过单一的ansible-playbook命令,我应该拥有function齐全的持续部署pipe道,所有的服务都被docker化了。 现在是这个问题。 当我运行官方的Jenkinsdocker容器,并尝试为gitconfiguration身份validation,我得到以下错误 host key verification failed 我知道我可以login到jenkins容器,SSH手动混帐,并接受主机密钥为可信任,当第一次login。 但是这绝对是不行的,连接也应该自动处理。 如何在创build时将Jenkins Docker容器configuration为信任git服务器,何时可用的工具是docker,ansible和vagrant?

由对等错误TensorFlow重置连接

我正在尝试使用TensorFlow和Docker构build图像识别器程序当我尝试使用以下代码训练分类器时,我不断收到以下错误: python tensorflow/examples/image_retraining/retrain.py \ –bottleneck_dir=/tf_files/bottlenecks \ –how_many_training_steps 500 \ –model_dir=/tf_files/inception \ –output_graph=/tf_files/retrained_graph.pb \ –output_labels=/tf_files/retrained_labels.txt \ –image_dir /tf_files/flower_photos 因此: socket.error: [Errno 104] Connection reset by peer 然后当我再次运行代码时,我得到了错误: IOError: CRC check failed 0x76f1f85e != 0x6caceac0L 有什么build议么?

无法在Docker容器和java进程中parsing主机

我正在运行基于运行java进程的高山linux(GoCD服务器)的docker映像。 java进程本身试图运行一些代码来克隆本地git仓库,但是我得到了一个Couldn't resolve hostexception。 我试图从容器内使用'git clone'手动克隆git仓库,并没有问题。 另外,我可以通过运行ping my-service-url.com而没有问题,也可以从主机上ping my-service-url.com相同的结果,从而在ping my-service-url.com容器内ping域。 看来Java解决名称有一些困难,但我不知道如何解决它。 我尝试用RUN echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf创build一个新映像。 我读了另一个问题,可以解决它,但没有运气。 整个Dockerfile如下所示: FROM gocd/gocd-server:v17.5.0 RUN echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf ADD json-config-plugin-0.2.jar /godata/plugins/external/json-config-plugin-0.2.jar ENTRYPOINT ["/docker-entrypoint.sh"] 我在AWS ECS上运行,ipv4转发设置为1,networking模式为bridge 。 我正在用尽想法。

如何使用docker进行部署和开发?

假设我有一个Python Web应用程序。 我可以创builddocker文件来安装所有依赖项。 但之后(或之前,如果我有点要求)我有两个不同的目标。 对于部署,我可以通过ssh或tarballs从git下载所有的源代码,这是可行的。 但是对于一个开发人员来说,这是行不通的。 然后我需要在实际的源代码上工作。 我知道我可以“镜像”任何文件夹/文件从主机到docker集装箱。 那么好吧,我可以删除所有的源代码,这是图像生成时下载的,并“镜像”在开发者机器中存在的当前源代码。 但是,如果开发者机器没有使用git clone下载任何源代码,它将不起作用。 那么该怎么办? 我的意思是除了显而易见的 – 克隆开发机器上的所有回购,然后“镜像”它? 那么,使用docker的正确方式不仅是部署,还是为了开发呢?

是否有可能在Dockerfile ADD中使用私有混帐(集线器)回购?

有很多 关于通过安装git然后克隆一些东西来克隆一个git repo 到一个容器的问题 。 我感兴趣的是更像这样 ,他们在ADD命令中使用GitHub URL。 显然这只是一个公共URL,但是。 是否有可能使用类似git ssh或scp或者我的Dockerfile中的文件来获取文件到我的图像?

在Docker容器中访问标签作为环境variables

我想能够访问用于在该容器内构build泊坞窗容器的标签/修订版。 有没有一种简单的方法来在构build期间将标签/修订版本表面化为环境variables? 例如,我想要在容器中运行的API知道它的当前修订版本。 没有docker,我通常会使用git将修订版写入API可以访问的文件,但这似乎不是“Docker方式”。

如何修改后,docker源代码?

我们正在尝试在docker源代码中进行更改,并重新构build它以查看更改 问题是我们无法从源代码本身构buildDocker。 我们尝试:在docker目录中,但我们结束了错误(通过git init初始化git后): fatal: Needed a single revision make: *** [binary] Error 128 这个问题没有帮助,因为我们得到了错误: fatal: Needed a single revision invalid upstream origin/master 我们在Docker社区中检查了这个问题,他们build议克隆docker版本库的目录并重新编译,但是我们仍然无法make源代码。 问题修改后如何构build源代码?