Tag: 坞员

当外部链接的容器实际上使用docker-compose运行时,如何避免“Docker无法链接到非运行容器”错误

我们想要做什么: 我们希望使用docker-compose将一个已经运行的容器(A) 通过容器名称链接到另一个容器(B)。 我们使用“ external-link ”,因为两个容器都是从不同的docker-compose.yml文件启动的。 问题: 虽然具有该名称的容器正在运行,但容器B无法启动该错误。 ERROR: for container_b Cannot start service container_b: Cannot link to a non running container: /PREVIOUSLY_LINKED_ID_container_a_1 AS /container_b_1/container_a_1 “docker ps”的输出 : CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES RUNNING_ID container_a "/docker-entrypoint.s" 15 minutes ago Up 15 minutes 5432/tcp container_a_1 示例代码: docker-compose.yml容器B : container_b: external_links: – container_a_1 与其他“如何解决”这个问题有什么不同? […]

Docker:是否有可能使两个Docker容器logging在同一个文件上?

我有两个Dokcer容器 。 每个容器的日志都写在文件a.txt中 ContainerA – > /VolumeA/a.txt ContainerB – > /VolumeB/a.txt 我想统一在相同的文件和相同的日志logging,所以我打算为这两个容器装载相同的SharedVolume ,并输出相同的a.txt文件的日志: Intented Result :VolumeA OR VolumeB —> /SharedVolume/a.txt 我的问题是,不知道是否每个容器, 将在日志logging结束时擦除或写入 。 当然,我的目的是每次都在文件末尾find一种方法来进行日志logging。 另外我没有并发访问的问题 ,因为ContainerA始终在ContainerB之前进行日志logging build议?

Docker卷是特定于计算机的

我是Docker Swarm的新手。 据我所知,Docker Swarm允许你从集群中抽象出来。 意味着你不关心硬件容器的部署。 另一方面,在Docker中处理数据库的标准方法是在Docker容器之外写入数据(以避免写时复制行为)。 这是通过挂载一个卷并写入数据库相关的数据来实现的。 这里最重要的是Volumes机器特定的? Docker和Docker Swarm是否足够聪明,能够在需要的机器上安装卷? 例: 我有3台机器和3个微服务/容器。 所有这些都通过Docker Swarm进行部署。 只有一个微服务/容器必须连接到数据库。 所以我只需要在一台机器上安装卷 。 但在哪?

docker –mount错误:ContainerSpec:“–mount”不是有效的存储库/标记

我想使用一个docker群节点的音量,所以我想翻译这个使用音量的无swarm命令: docker run –name dev_db -v /tmp/postgres:/var/lib/postgresql/data -d postgres 对这个swarm命令: docker service create —-mount 'type=bind,src=/tmp/postgres,dst=/var/lib/postgresql/data,readonly' -—name dev -d -e contraint:node==/swarm1/ postgres Error response from daemon: rpc error: code = InvalidArgument desc = ContainerSpec: "—-mount" is not a valid repository/tag 问题是,我认为AFAIK也许我错了,但群不接受量,所以我想出了这个–mount命令,但它也不接受。 任何帮助表示赞赏。

如何pipe理与造船厂的许多主机

我正在尝试使用造船厂,而且我试图在一个用户界面中pipe理许多不同的主机。 但是我找不到让造船厂使用现有群集令牌的方法。 有没有办法将主机添加到造船厂,或只有一个主机? 谢谢。

docker-compose:在哪里存储服务的configuration?

我正在使用docker-compose / docker-machine构build一个ELK(elasticsearch / logstash / kibana)堆栈。 该计划是将其部署到数字海洋液滴,并在需要时使用Swarm对其进行缩放。 它工作得很好,但我有点困惑,我应该为服务存储configuration(例如logstash的configuration文件,或者nginx的SSL证书)。 起初,我只是将一个主机目录挂载为卷。 问题是所有的configuration文件必须在docker主机上可用,所以我必须将它们同步到数字水滴。 然后我想我有一个非常聪明的想法:创build一个包含所有configuration的数据容器,并让其他服务使用volumes_from访问它: config: volumes: – /conf build: context: . # this just copies the conf folder into the image dockerfile: /dockerfiles/config/Dockerfile logstash: image: logstash:2.2 volumes_from: – config 这种方法的问题变得非常明显:每次我改变任何configuration,我需要停止所有容器链接到configuration容器,重新创buildconfiguration图像和容器,然后再次启动服务。 对于正常运行时间不是很好。 那么,最好的方法是什么? 理想情况下,configuration文件将在一个容器内,所以我可以将它发送到任何地方。

我可以使用docker-compose构build一个容器图像吗?

我有一个应用程序,目前有几个容器 – 我想build立Web容器,孤立,发送到AWS ECS。 docker-compose.yml目前包含web端口,命令,env等的信息,而我的web容器的实际dockerfile只有python版本。 如果我使用docker build . 从app / web目录中,我不认为从docker-compose文件的端口设置通过。 是否有可能使用docker-compose构buildweb? 或者我需要填写我的web目录中的dockerfile? 我只想将我的Web容器图像推送到ECS 至于为什么我这样做,我认为在本地我会用redis,nginx和postgres开发 – 但ECS有自己的select,所以我不需要使用这些容器。 这里有一些重大的误解,有人可以清理吗?

无法创builddocker群服务

我是新来的群体,我正试图在本地build立一个简单的服务。 我已经和这样的领事build立了一个团队: docker-machine create -d virtualbox consul eval $(docker-machine env consul) docker run -d -p 8500:8500 -h consul progrium/consul -server -bootstrap docker-machine create -d virtualbox –swarm –swarm-master –swarm-discovery="consul://$(docker-machine ip consul):8500" –engine-opt="cluster-store=consul://$(docker-machine ip consul):8500" –engine-opt="cluster-advertise=eth1:2376" swarm-master docker-machine create -d virtualbox –swarm –swarm-discovery="consul://$(docker-machine ip consul):8500" –engine-opt="cluster-store=consul://$(docker-machine ip consul):8500" –engine-opt="cluster-advertise=eth1:2376" swarm-worker eval $(docker-machine env –swarm swarm-master) 一切似乎都很好, docker […]

在设置docker-machine主机之后,如何在本地使用docker-compose?

我设置docker机器来pipe理数字海洋上的一个站点。 这一切都很好,但现在我不能在本地使用docker-compose :它启动远程服务器上的docker容器。 有没有办法指定不这样做?

一个容器中有多less个图层?

有没有一种方法来检查docker集装箱有多less层,而不需要通过它“inheritance”每个docker文件来统计有多less个RUN ?