在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设置他们的环境,然后他们只是看每次会议都是一次性的,而不是保持相同的容器