CentOS6.5设置Django开发环境
今天在我的Centos6.5机器上安装Django开发环境,在安装完使用“django-admin.pystartprojectmyapp”创建应用的时候报了下面的错误
$django-admin.pystartprojectmyapp Traceback(mostrecentcalllast): File"/home/jhadmin/myenv/bin/django-admin.py",line2,in<module> fromdjango.coreimportmanagement File"/home/jhadmin/myenv/lib/python2.6/site-packages/django/__init__.py",line1,in<module> fromdjango.utils.versionimportget_version File"/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/version.py",line7,in<module> fromdjango.utils.lru_cacheimportlru_cache File"/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/lru_cache.py",line28 fasttypes={int,str,frozenset,type(None)}, ^ SyntaxError:invalidsyntax
检查一下,发现是我机器上的python版本太老,CentOS6.5的Python是2.6.6,而最新的django(1.8.4)要求的Python版本是2.7.x,本想着升级一下自己机器的Python,又怕会对别的应用有影响,正犯愁呢,突然想到可以使用Docker来解决我碰到问题。下面就是我使用Docker搭建的django开发环境的步骤。
首先创建一个目录,用来存放Docker的配置文件,这里我就叫django_env。
在django_env目录下创建一个Dockerfile文件,文件内容如下
FROMcentos:centos7 MAINTAINERFanbinKong"kongxx@hotmail.com" RUNrpm-ivhhttp://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm RUNyuminstall-yopenssh-serversudosupervisorpython-pip RUNsed-i's/UsePAMyes/UsePAMno/g'/etc/ssh/sshd_config RUNecho"root:Letmein"|chpasswd RUNssh-keygen-tdsa-f/etc/ssh/ssh_host_dsa_key RUNssh-keygen-trsa-f/etc/ssh/ssh_host_rsa_key RUNmkdir/var/run/sshd RUNpipinstalldjango RUNmkdir-p/var/log/supervisor COPYsupervisord.conf/etc/supervisord.conf EXPOSE22 CMD["/usr/bin/supervisord"]
考虑到后面会在Docker里启动多个服务,所以还是用到了supervisor,创建一个supervisord.conf文件,内容如下
[supervisord] nodaemon=true [program:sshd] command=/usr/sbin/sshd-D
在django_env目录下运行下面命令来生成容器镜像
sudodockerbuild-tdjango_env.
根据容器镜像生成容器
sudodockerrun-v/home/kongxx/mywork:/data--name=test-d-Pdjango_env
这里使用了“-v/home/kongxx/mywork:/data”,目的是为了可以在宿主机器和容器中共享代码
容器生成后,可以使用“sudodockerinspecttest|grepIPAddress”命令来查看容器的IP地址。然后使用ssh来登录这个容器
sshroot@<container_ip>
登录到容器后,我们就可以运行django命令来创建和启动应用了,如下
cd/data django-admin.pystartprojectmyapp cdmyapp pythonmanage.pyrunserver0.0.0.0:8000
此时,在浏览器里访问http://:8000即可看到服务已经运行了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。