Questions tagged «docker»

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

16
如何在Docker注册表v2上获取图像列表
我正在使用docker Registry v1,并且有兴趣迁移到较新的版本v2。但是我需要某种方法来获取注册表中存在的图像列表。例如,对于注册表v1,我可以执行GET请求,http://myregistry:5000/v1/search?结果是: { "num_results": 2, "query": "", "results": [ { "description": "", "name": "deis/router" }, { "description": "", "name": "deis/database" } ] } 但是我在官方文档中找不到类似于在注册表中获取映像列表的内容。有人知道在新版本v2上执行此操作的方法吗?

5
如何定义使用docker-compose构建的映像的名称
我正在使用docker-compose创建我的开发环境。我想构建一个特定的图像,但是我不知道如何为该图像设置名称。 wildfly: build: /path/to/dir/Dockerfile container_name: wildfly_server ports: - 9990:9990 - 80:8080 environment: - MYSQL_HOST=mysql_server - MONGO_HOST=mongo_server - ELASTIC_HOST=elasticsearch_server volumes: - /Volumes/CaseSensitive/development/wildfly/deployments/:/opt/jboss/wildfly/standalone/deployments/ links: - mysql:mysql_server - mongo:mongo_server - elasticsearch:elasticsearch_server 当我执行docker-compose所有操作时,一切正常,但是我得到了新图像的随机名称。是否可以为构建映像设置名称?

6
如何使docker-compose始终从新映像重新创建容器?
我的Docker映像构建在Jenkins CI服务器上,并被推送到我们的私有Docker Registry。我的目标是使用docker-compose配置环境,该环境始终会启动映像的原始构建状态。 我目前在不同的机器上使用docker-compose 1.3.2以及1.4.0,但是我们之前也使用了旧版本。 我总是使用docker-compose pull && docker-compose up -d命令从注册表中获取新图像并启动它们。我相信我的首选行为在某个时间点之前都可以按预期工作,但是从那时起,它docker-compose up开始重新运行以前停止的容器,而不是每次都启动原始构建的映像。 有没有办法摆脱这种行为?这样可以成为在docker-compose.yml配置文件中关联的一种方式,以不依赖于每次调用时“不要忘记”命令行上的某些内容吗? ps。除了找到实现目标的方法外,我还想进一步了解这种行为的背景。我认为Docker的基本思想是构建一个不变的基础架构。docker-compose的当前行为似乎与这种方法完全冲突..还是我在这里错过了几点?


4
带有--build-arg和多个参数的docker build
根据文档,可以为该标志定义多个args --build-arg,但是我不知道如何。我尝试了以下方法: docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 number_of_replicas=2 --no-cache . =>这将返回错误。 我也尝试过: docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5,number_of_replicas=2 --no-cache . =>这会将一个变量设置number_of_shards为值“ 5,number_of_replicas = 2” 知道如何定义多个参数吗?
192 docker  build  arguments 

3
仅列出停止的Docker容器
Docker提供了一种列出正在运行的容器或所有容器(包括已停止的容器)的方法。 这可以通过以下方式完成: $ docker ps # To list running containers 或通过 $ docker ps -a # To list running and stopped containers 我们是否只能列出已停止的容器?
190 docker  containers 

29
Docker:无法准备上下文:无法评估Dockerfile路径中的符号链接:GetFileAttributesEx
我今天刚刚下载了适用于Windows 10 64bit的Docker Toolbox。我正在看教程。尝试使用Dockerfile构建映像时,我收到以下错误。 脚步: 推出Docker Quickstart终端。 创建它后的testdocker。 按照“构建自己的映像” Web链接中所述准备Dockerfile 在命令下面运行 docker build -t docker-whale . Error: $ docker build -t docker-whale . unable to prepare context: unable to evaluate symlinks in Dockerfile path: GetFileAttributesEx C:\Users\Villanueva\Test\testdocker\Dockerfile: The system cannot find the file specified. 顺便说一句:我尝试了@ https://github.com/docker/docker/issues/14339提到的几个选项 $ docker info Containers: 4 …
187 docker  dockerfile 

4
从docker内部运行docker可以吗?
我在Docker容器中运行Jenkins。我想知道Jenkins容器也可以作为Docker主机吗?我正在考虑的是从Jenkins内部为每个集成测试构建启动一个新的Docker容器(以启动数据库,消息代理等)。因此,在完成集成测试后应关闭容器。是否有理由避免以这种方式从另一个Docker容器内部运行Docker容器?


13
Docker-compose:npm安装成功后,卷中不存在node_modules
我有一个具有以下服务的应用程序: web/ -在端口5000上保存并运行python 3 flask网络服务器。使用sqlite3。 worker/-有一个index.js文件,它是队列的工作程序。Web服务器使用json API通过端口与此队列进行交互9730。工作人员使用Redis进行存储。工作人员还将数据本地存储在文件夹中worker/images/ 现在这个问题只涉及到worker。 worker/Dockerfile FROM node:0.12 WORKDIR /worker COPY package.json /worker/ RUN npm install COPY . /worker/ docker-compose.yml redis: image: redis worker: build: ./worker command: npm start ports: - "9730:9730" volumes: - worker/:/worker/ links: - redis 当我运行时docker-compose build,一切都按预期工作,并且所有npm模块均按预期安装/worker/node_modules。 npm WARN package.json unfold@1.0.0 No README data …

6
Docker:从父目录添加文件
在我Dockerfile我有: ADD ../../myapp.war /opt/tomcat7/webapps/ 该文件以向ls ../../myapp.war我返回正确文件的方式存在,但是当我执行时,sudo docker build -t myapp .我得到了: Step 1 : ADD ../../myapp.war /opt/tomcat7/webapps/ 2014/07/02 19:18:09 ../../myapp.war: no such file or directory 有人知道为什么以及如何正确进行吗?
182 docker 

8
为什么Docker容器映像如此之大?
我通过Fedora的Dockerfile创建了一个简单的映像(最初为320 MB)。 添加了Nano(这个1MB大小的微型编辑器),图像的大小已增加到530 MB。我在此基础上添加了Git(30-ish MB),然后将图像大小的火箭提高到830 MB。 那不是疯了吗? 我试图导出和导入容器以删除历史记录/中间图像。这项工作最多可节省25 MB,现在我的图像大小为804 MB。我也曾尝试在一个命令上运行许多命令RUN,但仍然获得相同的初始830MB。 我一直在怀疑是否值得使用Docker。我的意思是,我几乎没有安装任何东西,而我的可用空间已超过1GB。如果我必须添加一些重要的东西,例如数据库,等等,我可能会用完磁盘空间。 任何人都可笑的图像大小?你如何解决? 除非我的Dockerfile非常错误? FROM fedora:latest MAINTAINER Me NotYou <email@dot.com> RUN yum -y install nano RUN yum -y install git 但很难想象这里可能出什么问题。
177 docker 



30
无法将图像推送到Amazon ECR-失败,并显示“没有基本身份验证凭证”
我正在尝试将Docker映像推送到Amazon ECR注册表。我正在使用Docker客户端Docker 1.9.1版本build a34a1d5。我aws ecr get-login --region us-east-1用来获取docker登录凭据。然后,我使用这些凭据成功登录,如下所示: docker login -u AWS -p XXXX -e none https://####.dkr.ecr.us-east-1.amazonaws.com WARNING: login credentials saved in /Users/ar/.docker/config.json Login Succeeded 但是,当我尝试推送图像时,出现以下错误: $ docker push ####.dkr.ecr.us-east-1.amazonaws.com/image:latest The push refers to a repository [####.dkr.ecr.us-east-1.amazonaws.com/image] (len: 1) bcff5e7e3c7c: Preparing Post https://####.dkr.ecr.us-east-1.amazonaws.com/v2/image/blobs/uploads/: no basic auth credentials 我确保aws用户具有正确的权限。我还确保存储库允许该用户推送到该存储库。为了确保这不是问题,我将注册表设置为允许所有用户完全访问。没有任何改变"no basic auth …

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.