Questions tagged «docker»

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


3
如何使用docker-compose标记docker映像
我想通过docker-compose建立映像并为其设置特定标签。文档说: Compose将使用生成的名称来构建并标记它,然后使用该图像。 但是我找不到指定标签的方法,对于生成的图像,我总是看到“最新”标签。

5
Java使用的内存远大于堆大小(或正确大小的Docker内存限制)
对于我的应用程序,Java进程使用的内存远远大于堆大小。 容器运行所在的系统开始出现内存问题,因为容器占用的内存比堆大小大得多。 堆大小设置为128 MB(-Xmx128m -Xms128m),而容器最多占用1GB的内存。正常情况下需要500MB。如果docker容器的限制低于(例如mem_limit=mem_limit=400MB),则该进程将被操作系统的内存不足杀手杀死。 您能解释一下为什么Java进程使用的内存比堆多得多吗?如何正确调整Docker内存限制的大小?有没有办法减少Java进程的堆外内存占用量? 我使用来自JVM中本机内存跟踪的命令收集了有关此问题的一些详细信息。 从主机系统,我获得了容器使用的内存。 $ docker stats --no-stream 9afcb62a26c8 CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 9afcb62a26c8 xx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.0acbb46bb6fe3ae1b1c99aff3a6073bb7b7ecf85 0.93% 461MiB / 9.744GiB 4.62% 286MB / 7.92MB 157MB / 2.66GB 57 从容器内部,获取进程使用的内存。 $ ps -p 71 -o pcpu,rss,size,vsize …
118 java  linux  docker  memory  jvm 

3
如何为Docker容器分配更多内存
正如标题所示,我正在尝试为容器分配更多的内存。我正在使用来自docker中心的名为“ aallam / tomcat-mysql”的映像,以防相关。 当我正常启动它而没有任何特殊标志时,内存限制为2GB(即使我读到如果未设置也没有限制) 这是我的码头工人统计数据 CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS ba57d6c9e9d2 0.22% 145.6 MiB / 1.952 GiB 7.29% 508 B / 508 B 0 B / 6.91 MB 68 我尝试像这样显式设置内存,但结果相同 docker run -d --memory=10g --memory-swap=-1 -e MYSQL_PASSWORD=password -p 3307:3306 -p …

2
/ bin / sh:apt-get:找不到
我正在尝试更改dockerFile以使用aspell。我有一个bash脚本,我想将其包装在扩展坞中 Step 4: Wrap the script in a Docker container. The sample SDK we downloaded earlier contains an example of an action wrapped in a Docker container. In particular, the sample SDK includes a Dockerfile that builds the C program in client/example.c and installs the binary as /blackbox/client/action . The …

8
Docker-如何将文件从映像复制到主机?
我的问题是有关这个问题的复制从容器主机的文件; 我有一个Dockerfile可以获取依赖项,从源代码编译构建工件,并运行可执行文件。我还想复制构建工件(在我的情况下,它是.zip由sbt dist'../ target /`产生的,但是我认为这个问题也适用于jar,二进制文件等。 docker cp适用于容器,而不是图像;我需要启动一个容器只是为了从中获取文件吗?在脚本中,我尝试/bin/bash在后台以交互模式运行,将文件复制出来,然后杀死容器,但这似乎很麻烦。有没有更好的办法? 另一方面,我想避免只是为了取出一个文件而.tar在运行后解压缩docker save $IMAGENAME文件(但是,这似乎是目前最简单的选择,即使是最慢的选择)。 我会使用docker卷,例如: docker run -v hostdir:out $IMAGENAME /bin/cp/../blah.zip /out 但是我正在boot2dockerOSX上运行,我不知道如何直接写到我的Mac主机文件系统(boot2docker虚拟机中安装了读写卷,这意味着我无法轻松地共享脚本以blah.zip从映像中提取内容)其他人,有什么想法吗?

2
Docker ADD与VOLUME
我正在学习Docker,并且对何时何地使用ADDand 有疑问VOLUME。我认为这两个都是这样做的: 加 在构建时将文件复制到映像。该映像包含所有文件,因此您可以非常轻松地进行部署。另一方面,在每次开发中都需要构建似乎不是一个好主意,因为构建需要开发人员运行命令来重建容器。另外,建造容器可能很耗时。 卷 我了解docker run -v您可以使用容器文件夹安装主机文件夹,这样您可以轻松地修改文件并观察容器中的应用程序对更改的反应。在开发中看起来很棒,但是我不确定如何以这种方式部署文件。
116 docker 

10
如何检查本地是否存在带有特定标签的Docker映像?
我想找出本地是否存在带有特定标签的Docker映像。如果Docker客户端无法本地执行此操作,那么我可以使用bash脚本。 仅为了提供一些可能的bash脚本提示,运行docker images命令的结果将返回以下内容: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE rabbitmq latest e8e654c05c91 5 weeks ago 143.5 MB busybox latest 8c2e06607696 6 weeks ago 2.433 MB rabbitmq 3.4.4 a4fbaad9f996 11 weeks ago 131.5 MB
116 bash  docker 

4
Docker:无法在Dockerfile中执行RUN mkdir
这是我在构建Docker映像时收到的错误消息: 步骤18:运行mkdir / var / www / app && chown luqo33:www-data / var / www / app --->在7b5854406120中运行mkdir:无法创建目录'/ var / www / app':没有这样的文件或目录 这是导致错误的Dockerfile片段: FROM ubuntu:14.04 RUN groupadd -r luqo33 && useradd -r -g luqo33 luqo33 <installing nginx, fpm, php and a couple of other things> RUN mkdir /var/www/app && …
116 docker 

7
包含来自容器的日志的日志文件在哪里?
我正在使用运行多个容器docker-compose。我可以使用command查看应用程序日志docker-compose logs。但是我想访问原始日志文件以将其发送到某个地方吗?它在哪里?我猜这是每个容器(在容器内部?)的单独日志,但是在哪里可以找到它?


12
为部署的Kubernetes服务获取YAML?
我正在尝试将我的应用程序部署到在Google Container Engine中运行的Kubernetes。 该应用程序可以在以下网址找到:https : //github.com/Industrial/docker-znc。 该Dockerfile内置的图像谷歌集装箱登记。 我已经通过+按钮在Kubernetes中部署了该应用程序。我没有这个的YAML。 我已在Kubernetes中为应用程序所需的PEM文件插入了一个Secret。 如何通过填写表格获取Kubernetes创建的Deployment,Service和Pod的YAML ? 如何将机密信息放入Pod以便使用?

8
如何跨主机链接Docker服务?
Docker 允许来自多个容器的服务器通过链接和服务发现相互连接。但是,从我可以看到的服务发现是本地主机。我想实现一个使用托管在不同计算机上的其他服务的服务。 有多种方法可以解决Docker中的此问题,例如CoreOS的jumpers,本质上可代理另一台计算机的主机本地服务,以及用于管理Docker部署的大量github项目,这些项目似乎已尝试支持此用例。 。 考虑到发展的步伐,很难遵循当前的最佳实践。因此,我的问题本质上是: Docker之间跨主机链接的当前主要方法是(如果有) 是否有计划直接在Docker系统中支持此功能?
115 docker 

12
如何为Kubernetes创建本地开发环境?
Kubernetes似乎与将容器部署到集群云有关。似乎没有碰到的是开发和暂存环境(或类似环境)。 在开发过程中,您希望通过一些重要的更改尽可能地接近生产环境: 本地部署(或至少在您只有您可以访问的地方) 在页面刷新上使用最新的源代码(假设其网站;理想情况下,在本地文件保存上页面自动刷新,如果您挂载源代码并使用诸如Yeoman之类的东西,则可以完成此操作)。 同样,人们可能希望非公共环境进行持续集成。 Kubernetes是否支持这种开发环境,还是必须构建某种东西,以希望在生产期间它仍然可以工作?

9
运行任务时出现AWS ECS错误:在集群中未找到容器实例
我正在尝试将docker容器映像部署为AWS使用ECS,但未创建EC2实例。我在互联网上搜寻了有关为什么收到以下错误的解释: “调用RunTask操作时发生客户端错误(InvalidParameterException):在群集中未找到容器实例。” 这是我的步骤: 1.将Docker映像从Ubuntu推送到我的Amazon ECS存储库。 2.注册了ECS任务定义: aws ecs register-task-definition --cli-input-json file://path/to/my-task.json 3.处理任务: aws ecs run-task --task-definition my-task 然而,它失败了。 这是我的任务: { "family": "my-task", "containerDefinitions": [ { "environment": [], "name": "my-container", "image": "my-namespace/my-image", "cpu": 10, "memory": 500, "portMappings": [ { "containerPort": 8080, "hostPort": 80 } ], "entryPoint": [ "java", "-jar", "my-jar.jar" ], …

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.