声明envvariables,其值包括docker / docker-compose的空间

我有一个像这样的envvariables值:
TEST_VAR=The value

有谁知道这是否合法? 我应该把这个值放在Docker的需要解释的位置吗?谢谢

编辑 :引号不会是一个很好的解决scheme,因为它是val的一部分,请参阅这里的参考。

让我们看看运行以下组成文件的结果:

 version: "3" services: service: image: alpine command: env env_file: env.conf 

env.conf:

 TEST_VAR1=The value TEST_VAR2="The value2" 

docker-compose up结果:

 service_1 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin service_1 | TEST_VAR2="The value2" service_1 | TEST_VAR1=The value service_1 | HOME=/root 

因此,env值中有空格是合法的。

你可以用\来逃避空间:

 TEST_VAR=The\ value 

编辑 :这是我如何通过他们在启动容器时(即docker run -e TEST_VAR=The\ value hello-world )。 如果您使用的是docker docker-compose或env文件,请参阅@yamenk的答案 。