您的位置:首页 > 运维架构 > Docker

docker django部署

2018-02-25 01:00 363 查看
https://hub.docker.com/_/django/
(一)dockerfile方法

FROM python:3.4

RUN apt-get update \
&& apt-get install -y --no-install-recommends \
postgresql-client \
&& rm -rf /var/lib/apt/lists/*

WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY . .

EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

(二)不用dockerfile方法:

$ docker run --name some-django-app -v "$PWD":/usr/src/app -w /usr/src/app -p 8000:8000  \
-d django bash -c "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"


在项目的根目录下执行以上命令即可
[root@centos4 mysite]# ls
blog  db.sqlite3  manage.py  mysite  requirements.txt  sftp-config.json  static  uwsgibk  uwsgi.ini
[root@centos4 mysite]#

[root@centos4 mysite]# docker exec -it 236 /bin/bash
root@2361f1355d70:/usr/src/app# ls
blog  db.sqlite3  manage.py  mysite  requirements.txt  sftp-config.json  static  uwsgi.ini  uwsgibk

root@2361f1355d70:/usr/src/app#

-v "$PWD":/usr/src/app
可以看到宿主机中项目上下能内容已经挂载到容器内的/usr/src/app中了

pip install -r requirements.txt
root@2361f1355d70:/usr/src/app# pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
Django (1.8.6)
django-bootstrap3 (9.1.0)
django-ckeditor (5.4.0)
django-js-asset (0.1.1)
mysqlclient (1.3.9)
olefile (0.44)
Pillow (4.3.0)
pip (9.0.1)
psutil (5.4.2)
psycopg2 (2.6.2)
setuptools (20.10.1)
root@2361f1355d70:/usr/src/app#

[root@centos4 mysite]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
2361f1355d70        django              "bash -c 'pip install"   40 minutes ago      Up 26 seconds       0
4000
.0.0.0:8000->8000/tcp   some-django-app

d6bb2b0cf809        registry            "/entrypoint.sh /etc/"   9 days ago          Up About an hour    0.0.0.0:5000->5000/tcp   registry

[root@centos4 ~]# docker history eb40dcf64078
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
eb40dcf64078        14 months ago       /bin/sh -c pip install mysqlclient psycopg2 d   37.01 MB            
<missing>           14 months ago       /bin/sh -c #(nop)  ENV DJANGO_VERSION=1.10.4    0 B                 
<missing>           14 months ago       /bin/sh -c apt-get update && apt-get install    204.7 MB            
<missing>           14 months ago       /bin/sh -c #(nop)  CMD ["python3"]              0 B                 
<missing>           14 months ago       /bin/sh -c cd /usr/local/bin  && { [ -e easy_   0 B                 
<missing>           14 months ago       /bin/sh -c set -ex  && buildDeps='   gcc   li   63.93 MB            
<missing>           14 months ago       /bin/sh -c #(nop)  ENV PYTHON_PIP_VERSION=9.0   0 B                 
<missing>           14 months ago       /bin/sh -c #(nop)  ENV PYTHON_VERSION=3.4.5     0 B                 
<missing>           14 months ago       /bin/sh -c #(nop)  ENV GPG_KEY=97FC712E4C024B   0 B                 
<missing>           14 months ago       /bin/sh -c apt-get update && apt-get install    7.425 MB            
<missing>           14 months ago       /bin/sh -c #(nop)  ENV LANG=C.UTF-8             0 B                 
<missing>           14 months ago       /bin/sh -c #(nop)  ENV PATH=/usr/local/bin:/u   0 B                 
<missing>           14 months ago       /bin/sh -c #(nop)  CMD ["/bin/bash"]            0 B                 

<missing>           14 months ago       /bin/sh -c #(nop) ADD file:1d214d2782eaccc743   123 MB  

 
[root@centos4 ~]# docker logs 2361f1355d70 --tail 10
  Running setup.py install for psutil: started
    Running setup.py install for psutil: finished with status 'done'
Successfully installed Django-1.8.6 Pillow-4.3.0 django-bootstrap3-9.1.0 django-ckeditor-5.4.0 django-js-asset-0.1.1 olefile-0.44 psutil-5.4.2
Requirement already satisfied: Django==1.8.6 in /usr/local/lib/python3.4/site-packages (from -r requirements.txt (line 1))
Requirement already satisfied: django-bootstrap3==9.1.0 in /usr/local/lib/python3.4/site-packages (from -r requirements.txt (line 2))
Requirement already satisfied: django-ckeditor==5.4.0 in /usr/local/lib/python3.4/site-packages (from -r requirements.txt (line 3))
Requirement already satisfied: django-js-asset==0.1.1 in /usr/local/lib/python3.4/site-packages (from -r requirements.txt (line 4))
Requirement already satisfied: olefile==0.44 in /usr/local/lib/python3.4/site-packages (from -r requirements.txt (line 5))
Requirement already satisfied: Pillow==4.3.0 in /usr/local/lib/python3.4/site-packages (from -r requirements.txt (line 6))
Requirement already satisfied: psutil==5.4.2 in /usr/local/lib/python3.4/site-packages (from -r requirements.txt (line 7))
[root@centos4 ~]#

[root@centos4 mysite]# netstat -anp | grep 8000
tcp6       0      0 :::8000                 :::*                    LISTEN      17211/docker-proxy-
[root@centos4 mysite]#



docker stop 2361f1355d70后无法访问
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: