Tag: 文件

多个FROM – 意味着什么

我想为github上的Linkurious项目构build一个docker镜像 ,它需要运行Neo4j数据库和Node.js。 我的第一个方法是为我的图像声明一个基本的图像,包含Neo4j。 参考文档没有以任何有用的方式定义“基本图像”: 基本图像:没有父项的图像是基本图像 从中我读到,如果图像本身没有基本图像,我可能只有一个基本图像。 但是什么是基础图像? 这是否意味着如果我在一个FROM指令中声明了neo4j / neo4j,那么当我的映像运行时,neo数据库将自动运行并在端口7474上的容器中可用? 阅读Docker参考(请参阅: https : //docs.docker.com/reference/builder/#from )我看到: FROM可以在单个Dockerfile中出现多次,以创build多个图像。 只需在每个新的FROM命令之前logging由提交输出的最后一个映像ID。 我想创build多个图像? 它似乎是我想要的是有一个单一的图像,其中包含其他图像的内容,如neo4j和node.js 我没有发现任何指令来声明参考手册中的依赖关系。 有没有像在RPM中的依赖项为了运行我的形象调用上下文必须首先安装所需的图像? 我很困惑…

从特定的步骤重builddocker图像

我有下面的Dockerfile。 FROM ubuntu:14.04 MAINTAINER Samuel Alexander <samuel@alexander.com> RUN apt-get -y install software-properties-common RUN apt-get -y update # Install Java. RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections RUN add-apt-repository -y ppa:webupd8team/java RUN apt-get -y update RUN apt-get install -y oracle-java8-installer RUN rm -rf /var/lib/apt/lists/* RUN rm -rf /var/cache/oracle-jdk8-installer # Define working directory. WORKDIR /work # […]

如何使用Dockerfile安装特定版本的Java 8

我正在试图build立一个Docker容器(使用一个Dockerfile)和一个特定版本的Java 8。 很多例子都是针对最新版本的。 RUN add-apt-repository -y ppa:webupd8team/java RUN apt-get update -y RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections RUN apt-get install -y oracle-java8-installer 我有一个需要在哪里我想控制我的容器供应的特定版本的Java。 任何暗示如何实现这一点? 对于示例Java 8更新31。

无法在docker debian中安装软件包:jessie

我尝试在基于debian的容器中安装git postgres镜像基于debian:jessie dockerfile FROM postgres:9.4 RUN apt-get -qq update RUN apt-get install git-core RUN apt-get install osm2pgsql 无法findgit和osm2​​pgsql 错误 E: Unable to locate package git-core 我错过了什么?

与Docker的Nightmare.js

我试图在服务器上运行Nightmare.js。 我很清楚,它在Linux上是无头的,并且需要xvfb 。 我不明白的是为什么我在DEBUG模式下继续得到以下错误: nightmare queuing process start +0ms nightmare queueing action "useragent" +3ms nightmare queueing action "goto" for https://news.ycombinator.com +2ms nightmare queueing action "cookies" +1ms nightmare queueing action "goto" for https://news.ycombinator.com/login +0ms nightmare queueing action "type" +1ms nightmare queueing action "type" +0ms nightmare queueing action "click" +0ms nightmare queueing action "wait" +1ms nightmare queueing […]

无法在Docker容器中编辑/etc/resolv.conf

我想添加一个域项到我的docker集装箱的/etc/resolv.conf 。 这是我的docker文件 FROM tomcat:8.0.20-jre7 VOLUME /tmp #RUN sed -i "s|search local|domain com.example.com|g;" /etc/resolv.conf RUN echo "domain com.example.com" >> /etc/resolv.conf # Expose ports. EXPOSE 8080 我试了echo和sed 。 与sed ,我在构build过程中出现错误。 sed: cannot rename /etc/sed6LcoES: Device or resource busy 但与echo容器构build并成功运行。 但是,当我进入容器时,我没有看到我的域添加在/etc/resolv.conf 。 为什么它不工作? 注意:我有运行parameter passing过程中的dns-search工作 docker run -p 8080:8080 –dns-search=com.example.com -d –name myawesome my/myawesome:latest 但我有兴趣让dockerFile工作。

docker运行包含一个variables的ENTRYPOINT

我有一个github.com上的私人git存储库,我想使用Dockerfile自动化Dockerfile docker build过程。 我天真地以为Dockerfile是在我的回购站的根文件夹中的最佳位置。 例: git clone ssh://git@github.com/avilella/bioboxes_playground cd bioboxes_playground ls Dockerfile Dockerfile 所以repo文件夹中的文件是: [hpenvy15 bioboxes_playground] $ tree -Difts . [ 18027 Mar 3 14:58] ./LICENSE [ 22 Mar 3 14:58] ./README.md [ 825 Mar 4 11:59] ./Dockerfile [ 4096 Mar 4 11:59] ./src [ 74 Mar 4 11:59] ./src/hello_world.c 所以对于外部依赖,我正在安装apt-get install或者下载tar.gz并在docker build期间安装它们。 我从前面的问题中发现如何将本地文件添加到图像中(称为Dockerfile中的“上下文”): http […]

合并两个docker图像

我希望使用docker设置一些生物信息学分析。 我find了两个我想用的docker图像: jupyter /数据科学笔记本 Bioconductor的/ devel_base 我已经成功地独立运行了这些图像,但是我不知道如何将它们合并在一起。 合并两个docker集装箱可能吗? 或者你从一个开始,然后手动安装另一个的function?

运行命令中的ARGreplace不适用于Dockerfile

在我的Dockerfile中,我有以下几点: ARG a-version RUN wget -q -O /tmp/alle.tar.gz http://someserver/server/$a-version/a-server-$a-version.tar.gz && \ mkdir /opt/apps/$a-version 但是,当build立这个: –build-arg http_proxy=http://myproxy","–build-arg a-version=a","–build-arg b-version=b" Step 10/15 : RUN wget…在path中显示$a-version而不是replace值,构build失败。 我已经按照这里所示的说明,但必须缺less别的东西。 我的问题是,什么可能导致这个问题,我该如何解决呢?

在子Dockerfile中使用ARG命令

我正在创build基于Jenkins Docker镜像的Dockerfile在镜像中添加一些预先安装的软件包(build-essential等)。 在Jenkins Dockerfile他们使用ARG命令来创buildjenkins用户和组:请参阅这些行 。 这是我的Dockerfile : FROM jenkins USER root RUN apt-get update && apt-get install -y build-essential USER jenkins 但是,当我build立它适合我的jenkins主机用户通过使用这一行: docker build –tag my-jenkins \ –build-arg user=jenkins \ –build-arg group=jenkins \ –build-arg uid=$(id -u jenkins) \ –build-arg gid=$(id -g jenkins) \ . 我有这个错误: One or more build-args [gid group uid user] were not […]