Compose-Multiplatform
全部标签 我正在尝试使用docker-compose来编排多个容器。为了排除故障,我经常通过以下方式从容器中运行bash:$docker-composerun--rmrunwebbash我总是尝试传递--rm开关,以便在我退出bashsession时删除这些容器。但有时它们仍然存在,我在docker-composeps的输出中看到它们。NameCommandStatePorts----------------------------------------------------------------------------------project_nginx_1/usr/sbin/ngin
我正在使用docker-compose运行一个测试环境,它由大约5个不同的容器组成。容器间链接和共享卷(volumes-from)工作得很好。我还将一些端口暴露给主机,效果很好。我缺少的是一种将我的一些真实服务器链接到这个环境的方法,而无需硬编码IP地址。使用dockerrun,您可以使用--add-host在您的/etc/hosts文件中添加另一行。有没有办法用docker-compose做类似的事情? 最佳答案 https://github.com/compose-spec/compose-spec/blob/master/sp
Docker1.9允许将参数传递给dockerfile。见链接:https://docs.docker.com/engine/reference/builder/#arg如何在docker-compose.yml中传递相同的参数?如果可能,也请提供一个例子。 最佳答案 现在docker-compose支持变量替换。Compose使用运行docker-compose的shell环境中的变量值。例如,假设shell包含POSTGRES_VERSION=9.3并且您在docker-compose.yml文件中提供此配置:db:image:
在我的docker-compose.yml文件中,我有以下内容。但是,容器不会获取主机名值。有什么想法吗?dns:image:phensley/docker-dnshostname:affydomainname:affy.comvolumes:-/var/run/docker.sock:/docker.sock当我检查容器中的主机名时,它不会获取affy。 最佳答案 截至docker-composeversion3.0andlater,您可以只使用hostname键:version:"3.0"services:yourservice
我想通过docker-compose构建图像并为其设置特定标签。Documentation说:Composewillbuildandtagitwithageneratedname,andusethatimagethereafter.但我找不到指定标签的方法,对于构建的图像,我总是看到“最新”标签。 最佳答案 文档/工具似乎已更新,您现在可以将image标记添加到您的脚本中。这对我来说是成功的。例子:version:'2'services:baggins.api.rest:image:my.image.name:rc2build:co
我正在使用docker容器设置我的本地开发环境。docker-compose.yml如下version:'2'services:db:image:mongo:3mq:image:rabbitmq:3api:build:.image:my_app/apiports:-"3000:3000"links:-db-mqenvironment:-NODE_ENV=development它开始时没有错误。并且docker列出了3个正在运行的容器docker-composeup-ddockerpse90e5a8b5d33my_app/api"/usr/local/bin/node"0.0.0.0:3
是否有理由使用run启动docker-compose.yml文件还是应该使用up?我了解run可以启动特定的容器,但我指的是您使用它而不指定容器的情况,以便它启动所有yml容器。 最佳答案 如docker-composerun中所述(2015)Thecommandpassedbyrunoverridesthecommanddefinedintheserviceconfiguration.Forexample,ifthewebserviceconfigurationisstartedwithbash,thendocker-compos
我已经通过运行以下命令在CentOS7上安装了docker,curl-sSLhttps://get.docker.com/|shsystemctlenabledocker&&systemctlstartdockerdockerrunhello-world注意:helloworld运行正常,没有问题。但是,当我尝试运行docker-compose(docker-compose.yml存在且有效)时,它只会在CentOS上给我错误(Windows版本适用于docker-compose文件)/usr/local/bin/docker-compose:line1:{error:NotFound
我有一个包含多个容器的docker-compose.yml。其中三个用于我的应用程序(客户端、服务器和数据库),其余用于各种开发工具(例如psql、npm、manage.py等)。当我执行docker-composeup时,它们都已启动,但我只想启动三个主要的。由于我指定了链接,我可以使用docker-composeupclient仅启动这三个,但输出仅来自那个容器。那么,有没有办法执行以下操作之一:告诉docker-compose应该由docker-composeup启动哪些容器从docker-composeup客户端获取所有链接容器的输出 最佳答案
每当我执行时docker-composestartdocker-composeps我看到状态为“UP”的容器。如果我这样做了docker-composeup-d我会看到更多详细信息,但它会具有相同的状态。这两个命令有什么区别吗? 最佳答案 docker-compose开始(https://docs.docker.com/compose/reference/start/)Startsexistingcontainersforaservice.docker-composeup(https://docs.docker.com/compos