Questions tagged «docker»

Docker是一个开源项目,可自动在软件容器内部署应用程序。

4
使Docker应用程序写入标准输出
我正在按照12要素咨询意见部署第3方应用程序,其中之一是应将应用程序日志打印到stdout / stderr:然后集群软件可以收集它。 但是,该应用程序只能写入文件或syslog。我该如何打印这些日志?

9
Docker容器无法在Ubuntu 14.04 Desktop Host上解析DNS
我在Ubuntu 14.04 LTS上的Docker容器遇到问题。Docker工作了两天,然后突然我失去了容器内的所有网络连接。下面的错误输出最初使我相信这是因为apt-get试图通过IPv6解析DNS。 我在主机上禁用了IPv6,并仍然删除了所有映像,拉了基本的ubuntu,但仍然遇到了问题。 我将我的/etc/resolve.conf名称服务器从本地DNS服务器更改为Google的公共DNS服务器(8.8.8.8和8.8.4.4),但仍然没有运气。我还在/ etc / default / docker的DOCKER_OPTS中将DNS设置为Google,然后重新启动了docker。 我也尝试过使用coreos,而且yum也无法解析DNS。 这很奇怪,因为虽然DNS无法正常工作,但是当我对apt-get无法解析的相同更新服务器执行ping操作时,仍然会收到响应。 我没有代理服务器,我使用的是非常标准的本地网络,并且此版本的Ubuntu是最新和最新的(两天前我安装了它,以更接近docker)。 我已经通过关于stackoverflow和github问题的其他文章对此进行了深入研究,但是还没有找到解决方法。我对如何解决此问题一无所知,任何人都可以帮忙吗? 错误信息 ➜ arthouse git:(docker) ✗ docker build --no-cache . Sending build context to Docker daemon 51.03 MB Sending build context to Docker daemon Step 0 : FROM ubuntu:14.04 ---> 5506de2b643b Step 1 : RUN apt-get update …

4
Docker Compose第2版“卷”语法应该看起来如何?
借助Docker Compose v1.6.0 +,该docker-compose.yml文件现在具有新的/版本2文件语法。所做的更改包括一个名为的单独的顶级密钥volumes。这样就可以将卷定义“集中”在一个地方。 我想做的是在其中命名卷,并在本地主机磁盘上具有单个卷引用多个路径。以下是一个示例,抛出一个以Traceback结尾的异常 AttributeError: 'list' object has no attribute 'items' 范例docker-compose.yml: version: '2' services: db: image: postgres volumes: - database:/var/lib/postgres/data php: image: php-fpm:5.6 volumes: - phpconf:/etc/php/conf.d namedvolume: container_name: namedvolume build: ./Docker/Testvolume volumes: - ./Docker/Testvolume/shareme volumes: database: - ./Docker/Postgres/db:ro - ./Docker/Postgres/ini phpconf: - ./Docker/PHP-FPM/conf singledir: ./Docker/foo completemap: ./Docker/bar:/etc/service/conf.d - …

4
在用于定期任务时保持Docker容器启动的正确方法
我有安装和配置软件的Docker容器。 没有任何程序应该一直启动/运行。 我想要的-根据外部事件启动某些命令的能力。喜欢: docker exec mysupercont /path/to/mycommand -bla -for 和 docker exec mysupercont /path/to/myothercommand 但是当容器停止时“执行”是不可能的,而且这个容器内部有一些“工作”数据,这些数据用于该命令,所以我不能使用 docker run ... 每次,因为它从图像重新创建了容器并破坏了我的数据。 保持此类容器运行的“正确”和“最佳”方法是什么?我可以在里面启动哪个命令?
41 docker 

5
Docker CMD指令中的多个命令
当我尝试通过Dockerfile中的CMD指令在运行时执行两个命令时,不知道发生了什么。我认为这应该工作: CMD ["/etc/init.d/nullmailer", "start", ";", "/usr/sbin/php5-fpm"] 但这不起作用。容器尚未启动。所以我必须这样做: CMD ["sh", "-c", "/etc/init.d/nullmailer start ; /usr/sbin/php5-fpm"] 我不明白 这是为什么?为什么第一行不是正确的方法?有人可以向我解释这些“ CMD Shell格式与JSON格式等”的东西。简单来说。 只需注意-与预期的command:in指令相同docker-compose.yml。
39 docker 

4
为什么我无法使用docker run进入CD目录?
我需要从特定目录运行应用程序。 $ sudo docker run -P ubuntu/decomposer 'cd /local/deploy/decomposer; ./decomposer-4-15-2014' 2014/10/09 21:30:03 exec: "cd /local/deploy/decomposer; ./decomposer-4-15-2014": stat cd /local/deploy/decomposer; ./decomposer-4-15-2014: no such file or directory 该目录绝对存在,如果我通过交互式运行bash连接到docker,则可以运行以上命令。 $ sudo docker run -i -t ubuntu/decomposer /bin/bash # cd /local/deploy/decomposer; ./decomposer-4-15-2014 我可以通过指定完整路径来运行程序,但是由于预期会从当前目录启动而导致崩溃。我能做什么?
39 docker 

11
Docker COPY问题-“没有这样的文件或目录”
在我的Dockerfile中,我有以下“ COPY”语句: # Copy app code COPY /srv/visitor /srv/visitor 不用说,在我的主机系统的“ / srv / visitor”目录下,确实存在我的源代码: [root@V12 visitor]# ls /srv/visitor/ Dockerfile package.json visitor.js 现在,当我尝试使用此Dockerfile构建映像时,它在应该发生“ COPY”的步骤处挂起: Step 10 : COPY /srv/visitor /srv/visitor INFO[0155] srv/visitor: no such file or directory 它说没有这样的目录,但是显然有。 有任何想法吗? 更新1: 有人指出,以我理解构建上下文的方式,我错了。该建议等于将“ COPY”语句更改为: COPY . /srv/visitor 问题是我是这样子的,构建过程在下一步停止了: RUN npm install 当显然有一个文件时,它说的是“找不到package.json文件”。 更新2: …
36 node.js  docker 

1
在Docker中使用Windows容器而不是Linux容器的优缺点?
我正在Windows 10上安装Docker for Windows(CE),第一个屏幕问我: []使用Windows容器而不是Linux容器(安装后可以更改) 这似乎是一个重要的决定,但是Docker文档,FAQ和Windows容器教程没有提供有关为什么我可能会选择另一个的信息。 客观地了解此选择的后果将很有帮助: 一种选择会比另一种更快吗? 该决定是否影响系统资源(RAM,CPU)的使用? 我可以在两种类型上运行相同的图像吗? 一个比另一个更安全吗? 任何其他可能有助于我得出结论的区别都将受到欢迎。

3
是否可以重新运行kubernetes作业?
我具有以下Kubernetes作业配置: --- apiVersion: batch/v1 kind: Job metadata: name: dbload creationTimestamp: spec: template: metadata: name: dbload spec: containers: - name: dbload image: sdvl3prox001:7001/pbench/tdload command: ["/opt/pbench/loadTpcdsData.sh", "qas0063", "dbc", "dbc", "1"] restartPolicy: Never imagePullSecrets: - name: pbenchregkey status: {} 当我完成kubectl create -f dbload-deployment.yml --record工作并创建一个pod时,Docker容器运行完毕,并且我得到以下状态: $ kubectl get job dbload NAME DESIRED SUCCESSFUL AGE …

1
docker-proxy流程的意义是什么?为什么需要一个用户空间TCP代理?
我注意到每个发布的端口都在运行docker-proxy进程。这个过程的目的是什么?为什么为此需要用户空间tcp代理? $ ps -Af | grep proxy root 4776 1987 0 01:25 ? 00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 22222 -container-ip 172.17.0.2 -container-port 22 root 4829 1987 0 01:25 ? 00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 5555 -container-ip 172.17.0.3 -container-port 5555 以及由docker创建的一些相关iptable规则: $ sudo iptables -t nat -L …
34 iptables  docker 

6
在Amazon ECS中更新服务的容器
建议使用哪种方法来更新在Amazon ECS中运行的服务的容器? 该AWS文档说:“如果你已经更新了应用程序的泊坞图像,你可以创建一个新的任务定义与图像,并将其部署到您的服务,一次一个任务。” 当前(2015年4月13日)文档中目前几乎包含所有内容。 我是否正确理解,在Amazon ECS中更新我的应用程序容器的唯一方法是创建一个新任务,然后停止旧任务并启动新任务? 我已经在Core OS和Fleetctl中成功使用了“最新”标签。这样做的好处是不需要为新的更新而更改Docker映像的标签,因为重新加载服务将看到新的更改并更新容器(使用相同的标签“最新”)。 您使用哪种方法通过Amazon ECS中的更新的docker镜像来更新服务?

2
从Dockerfile进行构建时,Debian / Ubuntu软件包安装debconf不允许非交互式安装
我设置了以下环境,以便在apt-get安装期间不询问任何问题/对话框: ENV DEBIAN_FRONTEND noninteractive # export DEBIAN_FRONTEND="noninteractive" 等效于: export DEBIAN_FRONTEND="noninteractive" 但是,当从Dockerfile构建映像时,在一个特定的Debian / Ubuntu软件包安装结束时(使用apt-get install),软件包配置debconf说: debconf: unable to initialize frontend: Noninteractive # export DEBIAN_FRONTEND="noninteractive" debconf: (Bareword "Debconf::FrontEnd::Noninteractive" not allowed while "strict subs" in use at (eval 35) line 3, <> line 1.) debconf: falling back to frontend: Noninteractive Subroutine BEGIN redefined …
29 docker 


3
将Apache2日志写入stdout / stderr吗?
我正在docker容器中运行Apache2,并且不希望将任何内容写入磁盘,而是将日志写入stdout和stderr。我已经看到了几种不同的方法来执行此操作(Supervisord和stdout / stderr, Apache访问日志到stdout),但是这些看起来像是黑客。默认情况下没有办法吗? 需要明确的是,我不想拖尾日志,因为这将导致将内容写入容器中的磁盘。

2
如何在没有集群的情况下使用Docker机密?
目前,我们在单个Docker容器上运行一个应用程序,该应用程序需要将各种敏感数据作为环境变量进行传递, 我将它们放在run命令上,这样它们就不会出现在映像中,然后再出现在存储库中,但是我最终得到了一个非常不安全的run命令, 现在,我了解到存在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.