从docker运行python web应用程序
我有一个Python Django的Web应用程序的docker形象。
这是我的Dockerfile
一部分:
FROM centos RUN rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm RUN yum -y update && yum -y install vim python-devel python-pip postgresql-devel mercurial openssl-devel RUN yum -y groupinstall "Development Tools" ADD my_app.tar.gz /usr/src/my_app/ WORKDIR /usr/src/my_app RUN export PYCURL_SSL_LIBRARY=nss; pip install --upgrade -r /usr/src/my_app/req.txt CMD ["python", "/usr/src/mdm_mock/manage.py", "runserver" "127.0.0.1:8081"]
这是我如何运行容器:
docker run -p 8081:8081 myname/myapp:1.0
我有几个问题:
1)当我运行我的容器我得到以下错误:
/bin/sh: [python,: command not found
为什么?
2)我如何configuration泊坞窗,以便我的web应用程序将使用我的本地机器上的postgres数据库(我的本地机器是泊坞窗容器的主机)
尝试python命令的完整path:
CMD ["/usr/bin/python", "/usr/src/my_app/manage.py", "runserver" "127.0.0.1:8081"]
例
构build并运行容器:
$ docker build -t myapp . $ docker run -it --rm myapp Python 2.7.5
Dockefile
FROM centos CMD ["/usr/bin/python", "--version"]
也许没关系,但是如果不是用CMD
运行它,而是用RUN
RUN python /home/docker/app/manage.py runserver 127.0.0.1:8081
你不需要在你的Docker文件中有apt-get install python
行吗?