草庐IT

logging - 将 docker-compose 日志保存到文件

我在构建服务器上运行了单元测试,并希望在出现故障时捕获日志结果以进行分析。我还没有找到将docker-composelogs的输出重定向到文件的方法,或者找到日志文件本身实际存在的位置。我想要相当于:docker-composelogs>logs.txt编辑-澄清:我所有的docker容器都会产生有用的日志,手动运行docker-composelogs会显示这些日志。我想编写此过程的脚本,以将这些相同的日志保存到作为我的构建服务器上的工件的文件中。本质上,docker-composelogs的输出保存到文件中,但是docker-composelogs永远不会退出。

docker-compose volumes_from 等效于版本 3

我正在尝试使用dockercompose创建Nginx/PHPFPM设置,但我遇到了版本3卷语法/更改的问题。我的Dockerfile:FROMphp:7-fpmVOLUME/var/www/html我的docker-compose.yml:version:"3"services:php:build:.volumes:-./html:/var/www/htmlweb:image:nginxlinks:-phpports:-"8888:80"volumes:-php:/var/www/html-./default.conf:/etc/nginx/conf.d/default.confvo

docker - 停止容器如何使用 `docker-compose run` 运行

我正在尝试使用docker-compose来编排多个容器。为了排除故障,我经常通过以下方式从容器中运行bash:$docker-composerun--rmrunwebbash我总是尝试传递--rm开关,以便在我退出bashsession时删除这些容器。但有时它们仍然存在,我在docker-composeps的输出中看到它们。NameCommandStatePorts----------------------------------------------------------------------------------project_nginx_1/usr/sbin/ngin

docker - 将 --add-host 或 extra_hosts 与 docker-compose 一起使用

我正在使用docker-compose运行一个测试环境,它由大约5个不同的容器组成。容器间链接和共享卷(volumes-from)工作得很好。我还将一些端口暴露给主机,效果很好。我缺少的是一种将我的一些真实服务器链接到这个环境的方法,而无需硬编码IP地址。使用dockerrun,您可以使用--add-host在您的/etc/hosts文件中添加另一行。有没有办法用docker-compose做类似的事情? 最佳答案 https://github.com/compose-spec/compose-spec/blob/master/sp

docker - 如何在 docker-compose 中传递参数?

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 - 如何在 docker-compose 中设置主机名?

在我的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 - 如何使用 docker-compose 标记 docker 镜像

我想通过docker-compose构建图像并为其设置特定标签。Documentation说:Composewillbuildandtagitwithageneratedname,andusethatimagethereafter.但我找不到指定标签的方法,对于构建的图像,我总是看到“最新”标签。 最佳答案 文档/工具似乎已更新,您现在可以将image标记添加到您的脚本中。这对我来说是成功的。例子:version:'2'services:baggins.api.rest:image:my.image.name:rc2build:co

docker - 无法链接到由 docker-compose 启动的正在运行的容器

我正在使用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

docker - 我应该使用 docker-compose up 还是运行?

是否有理由使用run启动docker-compose.yml文件还是应该使用up?我了解run可以启动特定的容器,但我指的是您使用它而不指定容器的情况,以便它启动所有yml容器。 最佳答案 如docker-composerun中所述(2015)Thecommandpassedbyrunoverridesthecommanddefinedintheserviceconfiguration.Forexample,ifthewebserviceconfigurationisstartedwithbash,thendocker-compos

docker - 为什么安装了 Docker 而不是 Docker Compose?

我已经通过运行以下命令在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