Questions tagged «docker»

Docker是构建和运行容器的工具。接受有关Dockerfile,操作和架构的问题。有关在生产环境中运行docker的问题可能会在ServerFault(https://serverfault.com/)上找到更好的响应。docker标签很少单独使用,通常与docker-compose和kubernetes等其他标签搭配使用。

23
Docker命令无法连接到Docker守护程序
我想搬到Docker,所以我才刚开始使用它。我已经在VirtualBox Ubuntu 15.10(Wily Werewolf)安装上安装了Docker,然后按照此处的建议,我尝试运行基本的nginx Docker映像: $ docker run --name mynginx1 -P -d nginx Cannot connect to the Docker daemon. Is the docker daemon running on this host? 因此,我检查了Docker是否正在运行: $ sudo service docker status ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) …
246 linux  ubuntu  docker  daemon 

8
如何从映像生成Dockerfile?
是否可以从映像生成Dockerfile?我想知道有两个原因: 我可以从存储库下载图像,但希望查看生成它们的配方。 我喜欢保存快照的想法,但是一旦完成,最好有一种结构化的格式来查看所做的事情。
241 image  repository  docker 

6
如何在Docker中创建命名和最新标签?
假设我有一个图像要标记为0.10.24(在我的情况下,这是一个包含Node.js 0.10.24的图像)。我使用Dockerfile构建了该映像,然后执行docker build并通过使用-t参数提供了标记。 我希望有一天我将拥有该图像的其他版本,因此我将使用另一个标签名称重新运行该过程。 到目前为止,一切都很好。这很好而且很好,一切都很好。 但是,这是问题开始的地方,我还希望始终另外拥有最新的图像标记广告latest。所以我想我需要给同一张图片加上两个名称。 我该怎么做呢?我是否真的需要再次docker build在完全相同的版本上运行,但是这次使用另一个标签,是否有更好的选择?
241 docker  tags 

7
使用dockerfile克隆私人git repo
我已经从似乎各种各样的工作dockerfile中复制了此代码,这是我的: FROM ubuntu MAINTAINER Luke Crooks "luke@pumalo.org" # Update aptitude with new repo RUN apt-get update # Install software RUN apt-get install -y git python-virtualenv # Make ssh dir RUN mkdir /root/.ssh/ # Copy over private key, and set permissions ADD id_rsa /root/.ssh/id_rsa RUN chmod 700 /root/.ssh/id_rsa RUN chown -R …
240 git  bitbucket  docker 

16
为什么Docker容器会立即退出
我在后台运行一个容器 docker run -d --name hadoop h_Service 它迅速退出。但是,如果我在前台运行,则可以正常运行。我使用检查了日志 docker logs hadoop 没有错误。有任何想法吗? DOCKERFILE FROM java_ubuntu_new RUN wget http://archive.cloudera.com/cdh4/one-click-install/precise/amd64/cdh4-repository_1.0_all.deb RUN dpkg -i cdh4-repository_1.0_all.deb RUN curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | apt-key add - RUN apt-get update RUN apt-get install -y hadoop-0.20-conf-pseudo RUN dpkg -L hadoop-0.20-conf-pseudo USER hdfs RUN hdfs namenode -format USER root …
239 docker 

9
Windows容器可以托管在Linux上吗?
是否可以在Linux上运行Windows容器?该方案基于一个用.NET(旧网络)编写的应用程序,而Linux用户希望通过Docker运行此应用程序以在上提供书面API 。net462localhost 我正在使用Windows的Docker桌面的 beta版本 如果不是,那为什么Windows可以运行Linux容器而不是反之? 编辑: 随着时间的流逝,这个问题很受欢迎。我想在此处添加一条注释,说明解决方法是使用新的netstandard。它使我可以将4.6.2框架打包到新的库中。


9
如何在构建期间将主机卷挂载到Dockerfile中的Docker容器中
原始问题:如何在Dockerfile中使用VOLUME指令? 我要解决的实际问题是-如何在构建期间将主机卷挂载到Dockerfile中的Docker容器中,即在期间具有该docker run -v /export:/export功能docker build。 对我而言,其背后的原因是在Docker中构建东西时,我不希望将(apt-get install)缓存锁定在单个Docker中,而是共享/重用它们。这就是我问这个问题的主要原因。 最新更新: 在docker v18.09之前,正确的答案应该是以下开头: 有一种在构建期间挂载卷的方法,但是它不涉及Dockerfiles。 但是,这是一个措辞不佳,组织有序且没有得到支持的答案。当我重新安装docker contains时,我偶然发现了以下文章: Dockerize apt-cacher-ng服务 https://docs.docker.com/engine/examples/apt-cacher-ng/ 那是码头工人对这个/我的问题的解决方案,不是直接而是间接的。这是docker建议我们这样做的正统方式。我承认这比我在这里要问的要好。 另一种方法是新接受的答案,例如v18.09中的Buildkit。 选择适合您的。 是:曾经有一个解决方案-摇杆,它不是来自Docker,但是现在摇杆已经停产了,我再次将答案恢复为“不可能”。 旧更新:答案是“不可能”。我可以接受它作为答案,因为我知道问题已经在https://github.com/docker/docker/issues/3156上进行了广泛讨论。我可以理解,对于Docker开发人员而言,可移植性是至关重要的问题。但是作为docker用户,我不得不说我对该功能的缺失感到非常失望。让我在前面的讨论中引用一句话来结束我的论点:“ 我想将Gentoo用作基本图像,但是绝对不希望在构建图像后将> 1GB的Portage树数据放在任何层中。您如果不是因为巨大的可移植树不必在安装过程中出现在映像中,则可能会有一些紧凑的容器。“是的,我可以使用wget或curl来下载所需的文件,但事实是,仅出于可移植性考虑,现在每次我构建Gentoo基本映像时都迫使我下载> 1GB的Portage树,这既无效率,也不友好。此外,软件包存储库将始终位于/ usr / portage下,因此始终位于Gentoo下。再次,我尊重这一决定,但同时也请允许我对我表示失望。 详细的原始问题: 从 通过卷共享目录 http://docker.readthedocs.org/en/v0.7.3/use/working_with_volumes/ 它说数据卷功能“自Docker Remote API版本1起就已经可用”。我的泊坞窗版本为1.2.0,但是我发现上面文章中给出的示例不起作用: # BUILD-USING: docker build -t data . # RUN-USING: docker run -name DATA data FROM …
236 share  docker  host  mount 


3
Docker:将重新启动策略添加到已创建的容器中
我看到Docker添加了一种称为“重新启动策略”的东西来处理容器的重新启动,例如在重新启动的情况下。 尽管这非常有用,但是我看到重新启动策略命令仅适用于docker run而不适用docker start。所以我的问题是: 是否可以将重启策略添加到过去已经创建的容器中?
229 docker 

20
我是否要连接到没有TLS的启用TLS的守护程序?
我正在尝试了解Docker,但我不断收到(对我而言)错误的错误消息。 可能最简单的示例是尝试打印我安装的Docker版本: $ sudo docker version Client version: 1.4.1 Client API version: 1.16 Go version (client): go1.3.3 Git commit (client): 5bc2ff8 OS/Arch (client): darwin/amd64 FATA[0000] Get http:///var/run/docker.sock/v1.16/version: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? 我刚刚阅读了用户指南,并严格按照每个步骤进行操作,所以我很惊讶收到此消息...我现在该怎么办? 我只是注意到,如果我不使用,sudo我不会得到该错误: $ docker …
221 docker 

10
如何在docker-compose.yml中重建Docker容器?
docker-compose.yml中定义了一些服务范围。这些服务已启动。我只需要重建其中之一,然后启动它即可启动其他服务。我运行以下命令: docker-compose up -d # run all services docker-compose stop nginx # stop only one. but it still running !!! docker-compose build --no-cache nginx docker-compose up -d --no-deps # link nginx to other services 最后,我得到了旧的nginx容器。顺便说一句,docker-compose不会杀死所有正在运行的容器!

13
如何在Docker Compose中使用环境变量
我希望能够在docker-compose.yml中使用env变量,并在docker-compose时传入值。这就是例子。我今天使用基本的docker run命令执行此操作,该命令包装在我自己的脚本中。没有任何这样的bash包装器,有没有办法通过compose实现它? proxy: hostname: $hostname volumes: - /mnt/data/logs/$hostname:/logs - /mnt/data/$hostname:/data

8
泊坞窗:在$ PATH中找不到可执行文件
我有一个安装的docker映像grunt,但是当我尝试运行它时,出现错误: Error response from daemon: Cannot start container foo_1: \ exec: "grunt serve": executable file not found in $PATH 如果我以交互方式运行bash,grunt则可用。 我究竟做错了什么? 这是我的Dockerfile: # https://registry.hub.docker.com/u/dockerfile/nodejs/ (builds on ubuntu:14.04) FROM dockerfile/nodejs MAINTAINER My Name, me@email.com ENV HOME /home/web WORKDIR /home/web/site RUN useradd web -d /home/web -s /bin/bash -m RUN npm install -g …
216 docker 

6
Docker:项目中有多个Dockerfile
当您有一个用于数据库的Dockerfile,一个用于应用程序服务器的Dockerfile等时,如何组织属于项目的Dockerfile?您是否在源代码中创建了某种层次结构?一个大型企业项目不能仅由一个Dockerfile组成吗?
214 docker 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.