0

我正在尝试构建一个基本图像并执行 Python Django Web 应用程序的容器。我已经执行了以下步骤,但是当我尝试运行容器时,它会抛出一条错误消息,指出找不到 python3.8 可执行文件。如果我在这里遗漏任何东西,请告诉我。当我尝试在容器中检查时,我可以看到它们存在 python 可执行文件

[root@fed32 ~]# buildah from fedora
[root@fed32 ~]# buildah run fedora-working-container -- dnf -y install python3.8
[root@fed32 ~]# buildah run fedora-working-container -- dnf -y install pip
[root@fed32 ~]# buildah run fedora-working-container -- pip install Django
[root@fed32 ~]# buildah run fedora-working-container -- mkdir -p /home/admin/Django_Projects
[root@fed32 ~]# buildah config --workingdir /home/admin/Django_Projects fedora-working-container
[root@fed32 ~]# buildah run fedora-working-container -- django-admin startproject mysite
[root@fed32 ~]# buildah config --workingdir /home/admin/Django_Projects/mysite fedora-working-container
[root@fed32 ~]# buildah config --env PATH=$PATH:/usr/bin/python3.8 fedora-working-container
[root@fed32 ~]# buildah config --cmd '["/usr/bin/python3.8", "manage.py", "runserver"]' fedora-working-container
[root@fed32 ~]# buildah config --port 8000 fedora-working-container
[root@fed32 ~]# buildah commit fedora-working-container hellodjango

Error - 
[root@fed32 ~]# podman run -dt -p 8000:8000 localhost/hellodjango
Error: executable file `[/usr/bin/python3.8,` not found in $PATH: No such file or directory: OCI runtime command not found error

[root@fed32 ~]# buildah run fedora-working-container -- /bin/bash
[root@f283758d9ad2 Django_Projects]# 
[root@f283758d9ad2 Django_Projects]# whereis python3.8
python3: /usr/bin/python3.8 /usr/bin/python3 /usr/lib/python3.8 /usr/lib64/python3.8 /usr/local/lib/python3.8 /usr/include/python3.8
[root@f283758d9ad2 Django_Projects]# ls -ltr /usr/bin/python3.8
-rwxr-xr-x. 1 root root 15536 Aug 13 11:53 /usr/bin/python3.8
[root@f283758d9ad2 Django_Projects]# echo $PATH
/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/bin/python3.8


4

1 回答 1

0

关于如何传递 cmd 参数存在语法问题。我能够通过如下修改我的 cmd 来解决这个问题。

前 -

[root@fed32 ~]# buildah config --cmd '["/usr/bin/python3.8", "manage.py", "runserver"]' fedora-working-container

后 -

[root@fed32 ~]# buildah config --cmd '"/usr/bin/python3.8" "manage.py" "runserver"' fedora-working-container
于 2020-10-15T15:28:21.543 回答