Tag: docker

Docker命名为卷对比DOC(数据专用容器)

直到最近版本的Docker(v1.10),我们都认为我们可以使用DOC: data-only容器 。 所以我会创build这样的DOC(例如busybox),并使用–volumes-from将其链接到我的容器。 你仍然可以在Docker文档中看到这个。 随着docker的新版本,据说,而不是DOC,我们应该使用named volumes 。 这里是一个docker-compose.yml的例子: version: '2' services: elasticsearch: image: elasticsearch:2.2.0 command: elasticsearch -Des.network.host=0.0.0.0 ports: – "9201:9200" volumes: – "es-data:/usr/share/elasticsearch/data" volumes: es-data: 这里我们创build并使用了命名卷es-data 。 这个新function还没有太多的文档。 我问: 我们可以用命名容器replaceDOC吗? 音量持续多久? 如果我删除使用它的容器呢? 我们现在可以如何备份? 以前,我可以docker run –rm –volumes-from es-data …然后tar它。

kubectl运行不会创build副本控制器

在使用Google云端容器时,我是Kubernetes的新手。 我只是按照下面的教程: https://cloud.google.com/container-engine/docs/tutorials/http-balancer http://kubernetes.io/docs/hellonode/#create-your-pod 在这些教程中,我会在运行“kubectl run”之后得到复制控制器,但是没有复制控制器,所以我不能运行“kubectl expose rc”命令来打开一个端口。 这是我的命令的结果: ChangMatthews-MacBook-Pro:frontend changmatthew$ kubectl run nginx –image=nginx –port=80 deployment "nginx" created ChangMatthews-MacBook-Pro:frontend changmatthew$ kubectl expose rc nginx –target-port=80 –type=NodePort Error from server: replicationcontrollers "nginx" not found 这是我运行“kubectl get rc,svc,ingress,deployments,pods”的结果: ChangMatthews-MacBook-Pro:frontend changmatthew$ kubectl get rc,svc,ingress,deployments,pods NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.3.240.1 <none> 443/TCP 12m NAME RULE BACKEND […]

即使Docker容器卷未运行,它们如何工作?

只需要一个典型的数据Docker容器: FROM stackbrew/busybox:latest RUN mkdir /data VOLUME /data 现在我看到了很多这样运行的: docker run -name my-data data true true命令一运行就退出,容器也一样。 但令人惊讶的是,当你通过–volumes-from my-data连接到另一个容器时,它将继续提供音量。 我的问题是,这是如何工作的? 如何停止容器仍然允许访问它的卷?

Dockerhub存储库描述

有谁知道dockerhub如何pipe理自动构build存储库的描述? Dockerhub具有很好的特性,即源存储库中的README.md被用作存储库描述。 实际上,存储库的描述并不总是来自主分支的最新的README.md。 这似乎是相当随机的或与最新版本有关。 示例存储库: / Dockerfile README.md 分行: 主 标签: V1.0 V1.1 V2.0 V2.1 现在的问题是:如果我把所有的Autobuild上的标签,那么它是不可重现的,哪些README.md将被显示在存储库说明。 是否有一个技巧,或者是否有一个API可以在哪里设置描述? 我的愿望是,总是我的主/ README.md的最新提交将被显示!

使用Ansible在Docker Container中运行命令

我试图完成的是在一个Docker容器内运行命令,该容器已经在使用Ansible的Digital Ocean Ubuntu / Docker Droplet上创build。 似乎无法find任何东西,或者我主要失去了一些东西。 这是我在剧本里的Ansible任务。 我对Ansible很新,所以任何build议或智慧将不胜感激。 – name: Test Deploy hosts: [my-cluster-of-servers] tasks: – name: Go Into Docker Container And Run Multiple Commands docker: name: [container-name] image: [image-ive-created-container-with-on-server] state: present command: docker exec -it [container-name] bash

我必须在docker集装箱上启用防火墙吗?

我想知道是否需要在容器中启用防火墙。 (客户操作系统) 在传统的IaaS(如GCE和Amazon EC2)上,您必须configuration防火墙。 (在CentOS 6上的iptables,在7上的firewalld,在Ubuntu上的ufw)然而,Dockerfile有EXPOSE ,我猜Docker除了在Dockerfile中声明的端口外,拒绝了对所有端口的访问。 高于我的期望是否正确? 注意:这是关于容器(来宾操作系统)内的操作系统,而不是Docker主机。 因为我正在使用Google Container Engine,所以我的兴趣仅限于现在的客人。

PHPUnit覆盖:允许内存大小536870912字节用尽

我试图用PHPUnit和phpdbg使用下面的命令为我的PHP项目生成代码testing覆盖: phpdbg -dmemory_limit=512M -qrr ./bin/phpunit -c .phpunit.cover.xml 这工作得很好: PHPUnit 6.2.4 by Sebastian Bergmann and contributors. …….. 8 / 8 (100%) Time: 114 ms, Memory: 14.00MB OK (8 tests, 13 assertions) Generating code coverage report in HTML format … done 但是,当我在docker容器中使用完全相同的命令时: docker run -it –name YM4UPltmiPMjObaVULwsIPIkPL2bGL0T -e USER=sasan -v "/home/sasan/Project/phpredmin:/phpredmin" -w "/phpredmin" –user "1000:www-data" php:7.0-apache phpdbg […]

如何链接到附加容器而不重新启动?

来自https://groups.google.com/forum/#!topic/docker-user/A180aHSlQRE的 Xpost 假设我运行以下命令将web容器链接到db container- docker run -d -P –name web –link db training/webapp python app.py 现在我想我的Web容器链接到额外的容器,而无需重新启动Web容器。 可能吗?

使用REST API将端口绑定到主机接口

命令行界面的文档说明如下: 要将容器的端口绑定到主机系统的特定接口,请使用docker run命令的-p参数: 一般语法 docker run -p [([<host_interface>:[host_port]])|(<host_port>):]<container_port>[/udp] <image> 当没有提供主机接口时,端口绑定到主机的所有可用接口(又名INADDR_ANY,或0.0.0.0)。当没有提供主机端口时,一个是dynamic分配的。 TCP端口选项的可能组合如下 所以我想知道如何做到这一点,但与REST API? 与POST /container/create我试过了: "PortSpecs": ["5432:5432"]这似乎暴露端口,但不绑定到主机接口。 "PortSpecs": ["5432"]给了我与前一个相同的结果。 "PortSpecs": ["0.0.0.0:5432:5432"]这将返回错误Invalid hostPort: 0.0.0.0这是有道理的。 当我做sudo docker ps容器显示5432/tcp应该是0.0.0.0:5432/tcp 。 检查容器给我以下几点: "NetworkSettings": { "IPAddress": "172.17.0.25", "IPPrefixLen": 16, "Gateway": "172.17.42.1", "Bridge": "docker0", "PortMapping": null, "Ports": { "5432/tcp": null } } 完整的检查可以在这里find。

Docker – 从容器中运行容器

我有两个应用程序: 执行简短(ish)任务并退出的Python控制台脚本 通过传递命令行参数来启动控制台应用程序的Flask“frontend” 目前,Flask项目携带一个控制台脚本的副本,并在必要时使用subprocess运行它。 这在Docker容器中工作良好,但它们耦合得太紧密。 有些情况下我想从命令行运行控制台脚本。 我想将这两个应用程序分离到不同的容器中。 为了使这个工作,Flask应用程序需要能够在一个单独的容器(可能在不同的机器上)启动控制台脚本。 理想情况下,我想不必在Flask容器内运行控制台脚本容器,以便每个容器只运行一个进程。 另外我需要能够通过控制台脚本命令行参数。 问:我怎样才能从容器内产生一个短期任务的容器?