Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用alpine source,为什么我无法找到源或“源”&引用;我的环境文件?_Linux_Docker - Fatal编程技术网

Linux 使用alpine source,为什么我无法找到源或“源”&引用;我的环境文件?

Linux 使用alpine source,为什么我无法找到源或“源”&引用;我的环境文件?,linux,docker,Linux,Docker,如果我窥视图像内部和目录中的ls,我会看到: drwxr-xr-x 1 root root 4096 Dec 10 22:30 . drwxr-xr-x 1 root root 4096 Dec 10 22:35 .. -rw-r--r-- 1 root root 741 Dec 9 02:45 .env 我正在尝试CMD source.env&./myapp(myapp是一个占位符,我这里有很

如果我窥视图像内部和目录中的ls,我会看到:

drwxr-xr-x    1 root     root          4096 Dec 10 22:30 .
drwxr-xr-x    1 root     root          4096 Dec 10 22:35 ..
-rw-r--r--    1 root     root           741 Dec  9 02:45 .env
我正在尝试
CMD source.env&./myapp
(myapp是一个占位符,我这里有很多文件!),但由于某种原因,我遇到了一个问题-
.env文件找不到

我做错了什么

编辑:下面对我有用,但这也有用-
CMD../。环境和/我的应用程序

不确定为什么我可以运行
cat.env
,但我不能运行
source.env

试试以下方法:

这样,在shell表单中,是shell在进行寻源,而不是docker


确保首先将设置到正确的文件夹。

源代码
不能保证与
/bin/sh
一起使用。改为使用
,如中所述。也就是说,
CMD
的shell形式在与
/bin/sh
一起运行的文档中非常明确,因此应该与当前用例中的
exec
形式具有相同的行为。因此这很奇怪,这是有效的-
CMD../。env&./myapp
,但您的也可以使用D
cmdset-x;ls-l.env。env&&./myapp
可能是一个有用的地方——如果
ls-l
告诉您该文件不存在,那么您就知道您的代码正在执行的目录不是问题中列出的目录。相反,如果
ls
说它确实存在,那么
set-x
将意味着
.env
文件中的命令将被记录,以便您可以看到哪个命令有问题。
CMD [ "sh", "-c", "source .env && ./myapp" ]