CentOS6.5设置Django开发环境

今天在我的Centos6.5机器上安装 Django 开发环境,在安装完使用 “django-admin.py startproject myapp” 创建应用的时候报了下面的错误

$ django-admin.py startproject myapp
Traceback (most recent call last):
 File "/home/jhadmin/myenv/bin/django-admin.py", line 2, in <module>
 from django.core import management
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/__init__.py", line 1, in <module>
 from django.utils.version import get_version
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/version.py", line 7, in <module>
 from django.utils.lru_cache import lru_cache
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/lru_cache.py", line 28
 fasttypes = {int, str, frozenset, type(None)},
  ^
SyntaxError: invalid syntax

检查一下,发现是我机器上的 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 文件,文件内容如下

FROM centos:centos7

MAINTAINER Fanbin Kong "kongxx@hotmail.com"

RUN rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install -y openssh-server sudo supervisor python-pip

RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config

RUN echo "root:Letmein" | chpasswd

RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN mkdir /var/run/sshd

RUN pip install django

RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisord.conf

EXPOSE 22
CMD ["/usr/bin/supervisord"]

考虑到后面会在 Docker 里启动多个服务,所以还是用到了supervisor,创建一个 supervisord.conf 文件,内容如下

[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D

在 django_env 目录下运行下面命令来生成容器镜像

代码如下:

sudo docker build -t django_env .

根据容器镜像生成容器

代码如下:

sudo docker run -v /home/kongxx/mywork:/data --name=test -d -P django_env

这里使用了 “-v /home/kongxx/mywork:/data”,目的是为了可以在宿主机器和容器中共享代码

容器生成后,可以使用 “sudo docker inspect test | grep IPAddress” 命令来查看容器的 IP 地址。然后使用 ssh 来登录这个容器

代码如下:

ssh root@<container_ip>

登录到容器后,我们就可以运行 django 命令来创建和启动应用了,如下

cd /data
django-admin.py startproject myapp
cd myapp
python manage.py runserver 0.0.0.0:8000

此时,在浏览器里访问 http://:8000 即可看到服务已经运行了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 虚拟机VirtualBox中centos6.5网络设置图文详解

    最近一些日子在学习有关于虚拟机VirtualBox,现在分享给大家参考一下. 一.虚拟机网络配置 默认只是设置了网卡1:方式NAT(对应ifcfg-eth0) 我们还可以设置网卡2,网卡3.可以在系统安装完成后设置. 网卡2设置回环网卡,实现虚拟机与宿主机组成局域网(对应ifcfg-eth1),这样即使没有路由器也可以组成局域网,可以进行ssh连接. 需要宿主机安装MicrosoftLoopbackAdapter.参加附录. 网卡3设置连接到互联网,并与宿主机组成局域网(对应ifcfg-eth2

  • 详解CentOS6.5 安装 MySQL5.1.71的方法

    yum install -y MySQL-server mysql mysql-deve service mysqld start/stop/restart 首次启动, 会有如下的提示信息.其中包括 如何设置开机启动 如何设置root密码(默认为空) 如何配置生产环境 如何设置守护进程 如何测试守护进程 Initializing MySQL database: Installing MySQL system tables... OK Filling help tables... OK To st

  • Centos6.5搭建java开发环境配置详解

    一.安装jdk 1.查看Linux自带的JDK是否已安装 java –version 如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk. 2.查看jdk信息 rpm -qa|grep java 3.卸载OpenJDK,执行以下操作: rpm -e --nodeps tzdata-java-2012c-1.el6.noarch rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64 4.新

  • centos6.5中用yum方式安装php5.4与apache2.2的步骤

    前言 centos6.5系统,yum install php默认的版本是php5.3,本次安装需要最低版本为php5.4,最开始用yum install httpd安装了apache2.2,但是源码编译php5.5的时候,configure参数始终找不到apache的apxs2文件,编译失败. 网上找到一个镜像,rpm下载后,安装包整合了apache2.2,php5.4.45,直接yum install就可以安装http2.2和php5.4 命令如下: 1:如果之前安装过php,执行命令yum

  • Centos6.5下Jdk+Tomcat+Mysql环境安装图文教程

    系统环境:Centos6.5 64位 一. 安装java环境 这里安装的是jdk1.7.60 在/usr/local目录下创建java目录,可到oracle官网或镜像网站下载jdk-7u60-linux-x64.tar.gz,放到/usr/local/java中, cd /usr/local/java,执行解压: tar zxvf  jdk-7u60-linux-x64.tar.gz. 解压完成后配置JAVA_HOME,JAR_HOME环境变量.打开/etc/profile文件,命令:vi /e

  • CentOS6.5 上部署 MySQL5.7.17 二进制安装以及多实例配置

    1.建用户.下载.解压 groupadd mysql useradd -r -g mysql mysql wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz tar xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ ln -sv /usr/local/mysql-5.7.17-linux-gli

  • CentOS6.5下RPM方式安装mysql5.6.33的详细教程

    1.mysql下载 下载地址:https://dev.mysql.com/downloads/mysql/5.6.html<br>下载以下安装包: MySQL-client-5.6.33-1.el6.x86_64.rpm MySQL-devel-5.6.33-1.el6.x86_64.rpm MySQL-server-5.6.33-1.el6.x86_64.rpm 2.查看是否已经安装了mysql,有则移除 rpm -qa|grep -i mysql mysql-libs-5.1.66-2.e

  • CentOS6.5 升级 Python 2.7 版本详细介绍

     CentOS6.5 升级 Python 2.7 版 概要 CentOS 6.5中预安装了Python-2.6.6,其比较新的Python-2.7.9(CentOS 7预装版本)主要区别在于新版本的Python导入了更丰富的模块功能.对于初学者而言这一般不会有太大的影响,相对而言这些新模块在某些特定的编译环境下却是不可或缺的.例如:使用Devstack all-in-one模式进行安装OpenStack开发调试平台,需要Python-2.7及以上的支持,这样可以省去很多缺失模块的麻烦. - 软件

  • centos6.5安装vncserver图文教程

    centos6.5安装vncserver 简介 VNC (Virtual Network Computer)是虚拟网络计算机的缩写,VNC 是一款优秀的远程控制工具软件. 安装VNC服务 首先确认虚拟机已经安装了桌面环境,例如:gnome等 # vi /etc/inittab 启动级别改为5 id:5:initdefault: 安装VNC服务 # yum install pixman pixman-devel libXfont -y # yum install tigervnc tigervnc

  • Centos6.5和Centos7 php环境搭建方法

    总有人认为linux搭建php环境很复杂,然后尝试安装lnmp一键安装包.其实说白了就是安装一个web服务器,然后支持php即可,很简单的,比起你安装lnmp一键安装包还要简单.不说大话,看实际安装步骤. 首先我们先查看下centos的版本信息 复制代码 代码如下: #适用于所有的linux lsb_release -a #或者 cat /etc/redhat-release #又或者 rpm -q centos-release 以上三种任意一种均可查看centos的版本信息. 这里我们分别在c

  • Centos6.5在线安装mysql 8.0详细教程

    Centos6.5在线安装mysql 8.0的顺序如下,希望大家可以顺利进行安装. Mysql卸载从下往上顺序 [root@localhost /]# rpm -e --nodeps qt-MySQL-4.6.2-26.el6_4.x86_64 [root@localhost /]# rpm -e --nodeps mysql-server-5.1.71-1.el6.x86_64 [root@localhost /]# rpm -e --nodeps mysql-libs-5.1.71-1.el

  • Centos6.5编译安装mysql 5.7.14详细教程

    本文实例为大家分享了CENTOS6.5 编译mysql 5.7.14安装配置方法,供大家参考,具体内容如下 mysql5.7.14 编译安装在自定义文件路径下 下载安装包 配置安装环境 编译安装 cmake\ -DCMAKE_INSTALL_PREFIX=/data/db5714 \ -DMYSQL_DATADIR=/data/db5714/var \ -DMYSQL_UNIX_ADDR=/data/db5714/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \

随机推荐