Python “奇异的”;没有这样的文件或目录;在docker容器中运行命令时出错
我试图运行一个非常简单的python文件,它只在docker容器中打印“woof”。据我所知,我创建了一个docker容器,名为:Python “奇异的”;没有这样的文件或目录;在docker容器中运行命令时出错,python,linux,ubuntu,docker,terminal,Python,Linux,Ubuntu,Docker,Terminal,我试图运行一个非常简单的python文件,它只在docker容器中打印“woof”。据我所知,我创建了一个docker容器,名为: c5d3c4c383d1 然后,我运行以下命令,试图告诉自己在docker中运行东西的目录: sudo docker run c5d3c4c383d1 pwd 这将返回以下值: / 我假设它是我的根目录,所以我转到我的根目录。键入pwd显示: / 然后,我通过nano命令创建一个名为meow.py的文件,并在其中输入一行: print("Woof!")
c5d3c4c383d1
然后,我运行以下命令,试图告诉自己在docker中运行东西的目录:
sudo docker run c5d3c4c383d1 pwd
这将返回以下值:
/
我假设它是我的根目录,所以我转到我的根目录。键入pwd显示:
/
然后,我通过nano命令创建一个名为meow.py的文件,并在其中输入一行:
print("Woof!")
我保存它并用ls命令确认它在/目录中
然后,我输入以下内容:
sudo docker run c5d3c4c383d1 python meow.py
返回:
python: can't open file 'meow.py': [Errno 2] No such file or directory
我不明白。显然,当使用docker运行命令时,我不在根目录中,因为meow.py文件肯定在根目录中,但它表示找不到该文件。搞什么鬼。。。正如我在docker容器中运行pwd时所说的,它说我在/目录中,但我不能得到这个文件未找到错误 docker是一个容器。。。这是它的根目录。。。把它想象成一台完全不同的机器,你通常会用ssh连接到它。。。试试这样的
docker run -it c5d3c4c383d1 bash
这基本上就像你刚刚ssh到你的远程机器
继续并尝试一些命令(ls、pwd等
)
现在运行echo print(“hello world”)>test.py
现在运行ls
您应该会看到您的test.py。。。继续使用python test.py运行它
现在您可以退出
您的容器。。。如果您再次启动同一个容器,您的test.py文件应该仍然在那里。。。尽管我认为更常见的情况是,人们编写dockerfile来设置环境,然后将每个会话视为一次性会话,而不是保留相同的容器我明白了!从概念上讲,这很有意义。不幸的是,当我尝试运行docker时,它运行c5d3c4c383d1 bash,我被告知未知的速记标志:“我”在其中。当我移除-it标志时,我似乎没有连接到docker容器。想法?@majotcoder,这是docker-run-it
,不是docker-it-run
谢谢!当我像这样连接到图像时,对图像所做的更改似乎无法保存。知道我怎样才能让他们省钱吗?