在Docker容器中运行一个命令时奇怪的“没有这样的文件或目录”错误
我正试图运行一个非常简单的python文件,只是在docker容器中打印“woof”。 据我所知,我已经创build了一个名为:
c5d3c4c383d1
然后我运行下面的命令,试图告诉自己在docker中运行什么目录:
sudo docker run c5d3c4c383d1 pwd
这将返回以下值:
/
我认为是我的根目录,所以我去我的根目录。 键入密码显示:
/
然后通过nano命令创build一个名为meow.py的文件,并在这一行中input:
print("Woof!")
我保存这个并用ls命令确认这是在/目录下。
然后我input以下内容:
sudo docker run c5d3c4c383d1 python meow.py
哪个返回:
python: can't open file 'meow.py': [Errno 2] No such file or directory
我不明白这一点。 很明显,我不在根目录下运行docker命令,因为meow.py文件在根目录下是DEFINETLY,但是说这个文件找不到。 到底是什么…正如我所说当我在泊坞窗容器中运行密码它说,我在/目录,但我不能给这个文件找不到错误。
docker是一个容器…这是它的根目录…认为它像一个完全不同的机器,你通常会ssh进入…尝试这样的事情
docker run -it c5d3c4c383d1 bash
这基本上就像你刚刚进入你的远程机器ssh'd
继续尝试一些命令( ls,pwd,etc
)
现在运行echo print("hello world")>test.py
现在运行ls
你应该看到你的test.py …继续运行python test.py
现在你可以exit
你的容器…如果你再次启动相同的容器,你应该仍然有你的test.py文件…虽然我认为它更常见的人写一个dockerfile设置他们的环境,然后他们只是看每次会议都是一次性的,而不是保持相同的容器