Tag: docker文件docker 撰写

将数据从Docker容器复制到Docker容器

我有2个docker集装箱在我的系统上运行。 我想从我的主机系统本身将数据从一个容器复制到另一个容器。 我知道要将数据从容器复制到主机,我们必须使用 docker cp <Source path> <container Id>:path in container 现在我试图直接从一个容器复制数据到另一个,有没有办法做到这一点? 我试着这样做。 docker cp <container-1>:/usr/local/nginx/vishnu/vishtest.txt <container-2>:/home/smadmin/vishnusource/ 但上面的命令失败,说不支持。 我不应该复制数据到我的本地机器,那是我的要求。 任何人有一个想法做到这一点,在此先感谢?

在Dockerfile中追加到/ etc / hosts的最好方法是什么?

不幸的是,Docker并没有在Dockerfiles中的RUN命令之间保存/ etc / hosts文件 请推荐在Dockerfile中追加到/ etc / hosts的最佳方式

是否有可能从基础Docker文件覆盖基本操作系统?

由于维护的原因,我们需要在所有的Docker容器中使用CentOS。 我们的一个依赖Docker文件有java:8作为它的基础镜像。 FROM java:8 ……这个基础镜像使用基于Debian的Linux作为其基本操作系统。 有没有办法用centos覆盖debian?

docker运行-v或Dockerfile VOLUME优先?

Dockerfile FROM nginx:1.7 # Deliberately declaring VOLUME before RUN VOLUME /var/tmp RUN touch /var/tmp/test.txt 意见 现在我相信我理解了在创buildtest.txt之前声明VOLUME语句的含义 – 在运行时暴露的卷/var/tmp将基于test.txt文件创build之前的中间容器,因此它将是空的(希望这个观察是正确的) 因此,正如预期的那样,以下docker run不会显示test.txt : docker run kz/test-volume:0.1 但后来我试着在运行时提供音量如下: docker run -v /var/tmp kz/test-volume:0.1 题 结果是一样的。 那么这是什么意思? docker run命令中的-v /var/tmp映射到Dockerfile中由VOLUME命令显示的空的/var/tmp目录,而不是映射到最新映像中带有test.txt的/var/tmp目录? 感觉有点困惑。

Docker CMD评估与ENTRYPOINT

我有一个Dockerfile属于理解CMD和ENTRYPOINT如何交互的matrix中的exec_entry p1_entry /bin/sh -c exec_cmd p1_cmd类别。 行为不是我所期待的。 我期待/bin/sh -c exec_cmd p1_cmd先评估,然后传递到exec_entry p1_entry 。 我正在观察的是/bin/sh -c exec_cmd p1_cmd从字面上被传递到exec_entry p1_entry ,我认为这很有趣。 为了提供更多的上下文,我特别从现有的Dockerfile中派生出一个新的Dockerfile,其中父代有: ENTRYPOINT ["/bin/registrator"] 我想从我的Dockerfile传递特定的命令行参数: FROM gliderlabs/registrator:v7 CMD echo "-ip=$EXTERNAL_IP consul://$CONSUL_HOST" 当我在一个容器中运行我的Docker镜像时: $ docker run –rm –name=test-registrator –volume=/var/run/docker.sock:/tmp/docker.sock -e "EXTERNAL_IP=<some-ip>" -e "CONSUL_HOST=<some-consul-hostname>:8500" my/registrator 我得到以下错误: 2016/12/28 19:20:46 Starting registrator v7 … Extra unparsed arguments: -c echo "-ip=$EXTERNAL_IP consul://$CONSUL_HOST" […]

使用docker是批量应用程序的一个好主意?

Docker专家, 我已经听说了很多关于docker工人的事情,在通过文档之后,我了解了它的优点。 我想尝试一下我们正在开发的一个小批量应用程序。 在我们的devise中,我们将开发一个Java批处理应用程序并在RHEL主机上运行。 在不久的将来(至less1年以上),我们可能计划将On Prim迁移到Cloud。 以下是我的批处理应用程序所做的工作 – 它每天接收一组来自外部源的文件(数据文件在程序执行的主机上可用于此程序)。 它也连接到一个关系数据库。 做一些处理。 将输出加载到数据库。 发送一些电子邮件等….非常基本的批处理function。 这是我的第一套与Docker的devise相关的问题 – 1.这是一个很好的Docker用例吗? Docker推荐用于批量应用程序? 2.我相信我的情况下,我会收到文件后运行docker图像(让我们说每天晚上10点)。 图像将文件复制到Docker容器…过程文件…加载到DB …并终止容器… – 正确的devise? 这里是我的第二个与docker-1有关的问题。正如你在我的过程中看到的,我基本上需要运行一些复制命令来将文件从主机文件系统移动到docker。 并运行一个简单的java批处理程序。 我如何select基础图像? 请注意我的主机操作系统将是RHEL。 2.我真的需要一个带有操作系统的基础镜像吗? 3. OPENJDK基本映像是否有OS?如果是,为什么? 4.我真的需要一个基本的形象? 我可以从头开始,安装Java,并准备好 – 我不确定这是如此简单,从头开始创build一个图像…?

多个项目(和fig.yml)链接到同一个数据库

文件结构示例: projects |– project 1 | |– app | | +– <all app files> | |– Dockerfile | +– fig.yml +– project 2 |– app | +– <all app files> |– Dockerfile +– fig.yml Dockerfile (不完全是我将使用,但只是一个例子) FROM node:latest RUN mkdir /src RUN npm install nodemon -g WORKDIR /src ADD app/package.json /src/package.json RUN npm install ADD […]

Docker&Angular 2:绑定目录保持空白

我必须在MEAN堆栈应用程序上工作,完全停靠。 所以我们有三个图像: 一个用于mongo数据库 一个用于后端(nodejs) 还有一个用于前端(angular度2) 因为我想在容器运行时在前端工作,所以我试图将一个文件夹绑定到容器中的src文件夹。 为此,我使用以下命令运行容器: docker run –name frontend -d -p 5555:5555 –link backend -v /home/frontend:/code/src/ infra-frontend:latest Docker创build目录,但它仍然是空的,尽pipe在容器中不是空的(我用docker exec bash命令检查过)。 所以,因为这是我第一次和Docker打交道,所以我有点迷路了,我想得到一些帮助。

使用docker-py与'docker exec -it bash <container_id>'进行双向通信

我似乎无法弄清楚如何使用docker-py SDK启用容器shell会话的asynchronousI / O。 我基本上试图实现的是在docker-py中有一个相当于docker exec -it bash $container_id工作。 显然,stdout没有问题。 只是没有(显而易见的)方法来实际写入stdin来与正在运行的容器的shell进行交互。 这真的是吗? cmd = "bash" cli = docker.DockerClient() cli.containers.get(container_id) socket = cli.exec_run(cmd, stdin=True, socket=True) socket.writable() # => False 我也尝试运行'bin/bash -c "export TERM=xterm; exec bash"作为cmd并将tty标志添加到exec_run。 不用说,无济于事。 难道我做错了什么?

Docker课程教程,python pip失败

我正在关注https://docker-curriculum.com/中的教程来生成我的第一个Docker镜像。 在第2.4节中,我们将学习如何使用基本图像python:3-onbuildconfiguration一个简单的Dockerfile python:3-onbuild将自动运行pip并从requirements.txt安装依赖关系。 问题是,当我试图build立docker,包只是无法加载: mgitt@mgpc:~/workspace/docker-curriculum/flask-app$ docker build -t prakhar1989/catnip . Sending build context to Docker daemon 8.704kB Step 1/3 : FROM python:3-onbuild # Executing 3 build triggers… Step 1/1 : COPY requirements.txt /usr/src/app/ —> Using cache Step 1/1 : RUN pip install –no-cache-dir -r requirements.txt —> Running in 74c4e94fa1ba Collecting Flask (from -r requirements.txt (line […]