docker运行时将命令行参数作为配置文件传递

docker运行时将命令行参数作为配置文件传递,docker,Docker,在docker compose中有一个.env文件,它可以保存docker compose.yml中使用的所有属性 在docker run命令中是否有与之等效的命令?我已经用尽了文档和论坛,但找不到任何答案 以下是我想要的: 而不是 docker run-v/dir1:/dir1-v/dir2:dir2-p 80:80 repo/image 使用包含所有属性映射的config.yml文件运行docker run-config.yml repo/image',不幸的是,无法按照您所描述的方式执行此

docker compose
中有一个
.env
文件,它可以保存
docker compose.yml中使用的所有属性

docker run
命令中是否有与之等效的命令?我已经用尽了文档和论坛,但找不到任何答案

以下是我想要的: 而不是
docker run-v/dir1:/dir1-v/dir2:dir2-p 80:80 repo/image


使用包含所有属性映射的
config.yml
文件运行
docker run-config.yml repo/image'
,不幸的是,无法按照您所描述的方式执行此操作。 但是,您可以添加多个
env配置文件
,然后将它们合并到一个
.env
,如图所示


一种选择是将参数存储在文件中,然后使用cat获取文件的字符串:

docker run $(cat config.file) repo/image
其中config.file内容应类似于:

-v /dir1:/dir1 -v /dir2:dir2 -p 80:80

这似乎是一个不幸的差距。我发现最好的解决方法是使用
docker-compose
和docker-compose.yml文件来定义容器及其所有标志,然后使用

docker-compose run your-service-name-here

只运行一个一次性容器。

Docker对此不支持。这就是Compose的目的,它简化了使用许多参数运行容器的过程。但是,您可以编写一个简单的脚本来完成您想要的任务。只需重新迭代该组合就可以了。我认为最初的问题是询问不是环境变量的属性,比如设置卷绑定?
docker-compose run your-service-name-here