Tag: 依赖

Bundler在使用本地gempath的Docker镜像服务中失败

我正在使用一个docker-compose.yml文件。 version: '2' services: myapp: tty: true image: ruby:2.4 ports: – 3000:3000 volumes: – .:/app env_file: – .env sidekiq: build: . command: bundle exec sidekiq sidekiq工作正常,并从myapp生成相同的Dockerfile信息构build。 但是,当我在我的Gemfile中添加一些需要本地目录访问的gem依赖项时,它失败了。 将此添加到Gemfile和bundle update将不允许sidekiq生成。 gem 'rails-assets-jplayer', path: 'lib/gems/rails-assets-jplayer' gem 'rails-assets-bootstrap', path: 'lib/gems/rails-assets-bootstrap' gem 'rails-assets-jquery', path: 'lib/gems/rails-assets-jquery' gem 'rails-assets-jquery-ui', path: 'lib/gems/rails-assets-jquery-ui' 添加这些后,我只从sidekiq得到这个错误,而不是从myapp (它的工作原理)。 myapp uses an image, skipping Building sidekiq Step […]

Docker RPM是否需要额外的依赖关系?

我无法在网上find答案,将不胜感激。 我从他们的网站( http://docs.docker.com/v1.7/docker/installation/centos )下载了CentOS 7的Docker RPM。 在安装RPM之后,Docker是否需要额外的依赖来运行? 或者是独立的RPM足够了? 我在问,因为将外部文件带入我公司的networking需要时间。 所以我想事先知道我需要带到networking中的所有依赖项(RPM或其他文件)以及Docker RPM,所以我可以一次完成所有的工作。

如何减lessdocker image安装依赖关系所需的时间?

我有一些节点docker集装箱,基本上看起来像: # core nodejs just installs node and git on archlinux FROM core/nodejs # clones directory into current working dir RUN git clone https://github.com/bodokaiser/nearby . # installs all dependencies RUN npm install # lets node execute the source code CMD ["node", "index.js"] 当我现在重build图像以便收集新的更新时,它会从npm下载所有依赖关系。 这总是需要大约5分钟。 我现在想知道如何避免重新安装所有的依赖关系。 我到目前为止的一个想法是使用VOLUME ,然后与主机共享代码存储库,这将使其很难在其他主机上使用该映像。 更新:我有另一个想法是创build一个容器容器,其中包含一个git仓库,并与运行时容器共享。 但是,回购容器必须能够以某种方式重build其他容器?

docker工人:移除其他docker图像上的文件/图像依赖关系

如何从Docker镜像中删除文件依赖关系? 每次我build立并上传一个新的docker图像时,都会从过去的图像中获取图层和信息。 如何删除此连接,以便所有docker构build独立于所有其他图像。 例如:我有一个工作文件,当我重新上传它没有改变它停止工作,从那以后,我无法重新上传一个工作文件。 dockerfile: FROM 10.119.222.132:5000/node:8.5.0-wheezy ENV http_proxy=http://www-proxy.abc.ca:3128/ ENV https_proxy=http://www-proxy.abc.ca:3128/ ENV PORT 5000 RUN apt-get update WORKDIR /usr/src/app COPY package.json /usr/src/app COPY . . CMD ["node", "server.js"] 的package.json: { "name": "api-proxy", "version": "1.0.0", "description": "API Gateway", "main": "server.js", "dependencies": { "body-parser": "^1.17.2", "crypto": "^1.0.1", "cors": "^2.8.4", "express": "^4.15.4", "jsonwebtoken": "^7.4.2", "mongodb": "^2.2.31", "request": "^2.81.0" […]

为基于Maven的Docker构buildcachingJar依赖关系

我从这个Dockerfile构build一个Docker镜像: FROM maven:3.3.3-jdk-8 MAINTAINER Mickael BARON ADD pom.xml /work/pom.xml WORKDIR /work RUN mvn dependency:go-offline –fail-never ADD ["src", "/work/src"] RUN ["mvn", "package"] 有了这个Dockerfile,我强制在打包Java项目之前下载依赖项。 因此,我不必每次从我的src目录更改文件时重新下载依赖关系。 但是,有一个问题,这个问题取决于Maven的版本(基本图像)。 事实上,这些依赖关系被下载了,但是它们并没有被保存到容器的〜/ .m2目录中。 它是空的。 因此,当我改变一些源文件时,所有的依赖关系被重新载入。 但是,我注意到,如果我从基本映像(例如FROM maven:3.2.5-jdk-8 )更改Maven的版本,它的工作原理。 很奇怪,不是吗?

为什么我们需要在Dockerfile中运行安装之前运行更新?

当我尝试在Dockerfile中为我的应用程序指定Boost库时,我必须这样做 RUN apt-get update && apt-get install libboost-dev 如果我只是添加 RUN apt-get install libboost-dev 我得到错误: returned a non-zero code: 100 这背后的理论是什么? 谢谢。