Tag: 文件

Dockerfile的优点

我们可以创buildDocker镜像,并将它们全部推送到Hub,而不需要Dockerfile。 为什么有一个Dockerfile有用? 它有什么好处? Dockerfile的创build是一个高耗时的过程,只能由人来完成。 我想知道基于基础的图像,提交的图像和基于Dockerfile的图像之间的主要区别是什么。

Docker有条件的构build图像

我必须执行相同的脚本到两个docker图像。 我的Dockerfile是: FROM centos:6 … 和 FROM centos:7 … 有可能有一个单一的文件,并传递一个参数,如下所示: FROM centos:MYPARAMS 并在build立这样的事情: docker build –no-cache MYPARAMS=6 . 谢谢

交互式命令在Dockerfile中

我正在尝试使用适当的Dockerfile使用Dockerfile docker build命令自动创build一个开发Docker镜像。 我需要在RUN命令中运行的其中一个脚本需要用户单击并阅读其许可协议。 因此有两个问题: Dockerfile中所有RUN命令的输出在Dockerfile ? 什么解决scheme可以与上述命令交互? 现在, docker build命令就会被阻塞,要求用户input一个无限循环。

Docker:来自守护进程的错误响应:没有这样的id:

目前我试图用docker run -d ID在deamon上启动docker image(在启动这个commande之后: docker build -t toto . ) 但是当我启动这个指令时: docker exec -it ID bash ,我得到这个错误: 来自守护进程的错误响应:没有这样的id:toto 我的Dockerfile看起来像这样: # Dockerfile FROM debian:jessie # Upgrade system RUN apt-get update && apt-get dist-upgrade -y –no-install-recommends # Install TOR RUN apt-get install -y –no-install-recommends tor tor-geoipdb torsocks # INSTALL POLIPO RUN apt-get update && apt-get install […]

构build后将文件复制到Docker镜像

我已经有一个已经build立的docker图像,并且不会在构build完成后添加文件。 有没有一种方法来添加文件,而不重build它(或者可以添加它,并保存一个新的标签)? 我find了docker cp但如果我明白,它只能在运行容器中工作。

你如何安装需要在Dockerfile中重新启动的东西?

假设我有如下的安装说明: 做一点事。 重新启动你的机器。 做别的事。 我如何在Dockerfile中expression这一点?

有没有一种方法可以避免使用Docker推送node_modules?

我有一个node_modules文件夹是120MB + ,我想知道如果我们可以以某种方式只推动node_modules文件夹,如果它已经改变? 这是我的docker文件现在看起来像: FROM node:6.2.0 # Create app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # Install app dependencies COPY package.json /usr/src/app/ RUN npm install # Bundle app source COPY . /usr/src/app CMD export NODE_ENV=production EXPOSE 80:7000 # EXPOSE 7000 CMD [ "npm", "start" ] 所以我想要做的只是推动node_modules文件夹,如果它已经改变! 我不介意手动指定node_modules文件夹何时更改,是否通过传递一个标志和使用if语句来做到这一点,我不知道? 用例: 我只修改了我的应用程序代码,并没有添加任何新的软件包。 我添加了一些包,并要求推送node_modules文件夹。 编辑: 所以我尝试了下面的一些逻辑引入的docker文件 http://bitjudo.com/blog/2014/03/13/building-efficient-dockerfiles-node-dot-js/ 当我运行docker […]

如何从Dockerfile中的共享卷上放置文件?

我有一个Dockerfile,它构build了一个图像,为我提供了一个复杂的工具链环境,用于从主机文件系统编译已安装卷上的项目。 另一个原因是我没有太多的图像空间。 Dockerfile在OS映像中构build我的工具链,然后通过下载要放置在主机共享卷上的软件包来准备源文件。 通常从那里我会login到图像,并执行命令来build立。 这是问题所在。 我可以在Dockerfile中下载源代码,但是我怎样才能将它join共享卷。 基本上我有… ADD http://…/file mydir VOLUME /home/me/mydir 但是,当然,我得到错误“无法在现有文件上挂载卷…” 我是否在谈论这个错误?

新的Docker如何工作?

在Docker 1.13中新增了–squash参数。 我现在希望减less我的图像的大小,以及能够“隐藏”我的图层中的秘密文件。 下面你可以看到与使用和不使用–squash参数进行构build的区别。 没有壁球 用南瓜 现在我的问题。 如果我在第一层中添加一个秘密文件,然后使用第二层中的秘密文件,最后在第三层中删除我的秘密文件,然后用–squash标志构build。 现在有什么办法可以得到秘密文件吗?

如何使用Dockerfile中的私钥访问GIT仓库

我正在尝试在我的Docker容器中添加一个私钥,该私钥可以访问我的私人git存储库。 testing_git文件位于包含Dockerfile的文件夹中。 我试图做一个容器,可以拉动git代码。 这是我的Dockerfile: FROM ubuntu:14.04.1 WORKDIR ~/.ssh RUN apt-get -y install ssh WORKDIR /var/www/html Run apt-get -y install git RUN mkdir ~/.ssh ADD id_rsa /home/id_rsa RUN cat /home/id_rsa && mv /home/id_rsa ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa && eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa && ssh-add -l && ssh-add -L && echo "Host github.com\n\tIdentityFile ~/.ssh/id_rsa" […]