python django部署docker_python测试开发django-83.Dockerfile部署django项目

前言

现在流行用 docker 部署环境,python 开发的 django 项目也可以写个 Dockefile 文件,方便docker部署。

django 是依赖于python环境的,所有镜像制作是用一个python的镜像基础上把我们需要的环境添加过去就可以了。

Dockefile 文件

FROM python:3.6.8

MAINTAINER yoyo <283340479@qq.com>

# 更新下apt列表

RUN apt-get update

# 更新pip

RUN pip install --upgrade pip --index-url https://pypi.douban.com/simple

# 工作目录

WORKDIR /code

ADD . /code

# pip安装依赖包

RUN pip install -r requirements.txt --index-url https://pypi.douban.com/simple

# 打开容器的8000端口

EXPOSE 8000

# 执行命令行,启动django服务

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

requirements.txt 是django项目需要的依赖包,是开发完 django 项目之后,通过 pip 生成的

pip freeze >requirements.txt

Dockefile 和requirements.txt都是放到 django 项目的根目录下

build镜像

Dockefile 文件完成后,其它小伙伴拿到项目源码包,就可以在任意地方部署了。

把整个代码包放到 linux 服务器上,使用 docker 来 build 一个镜像

docker build -t django_yoyo .

这时候会看到build的步骤,等依赖包安装完成

[root@VM_0_2_centos yoyo]# docker build -t django_yoyo .

Sending build context to Docker daemon 7.729MB

Step 1/9 : FROM python:3.6.8

---> 48c06762acf0

Step 2/9 : MAINTAINER yoyo <283340479@qq.com>

---> Using cache

---> 791e4b982a47

Step 3/9 : RUN apt-get update

---> Using cache

---> 4d9a2088753e

Step 4/9 : RUN pip install --upgrade pip --index-url https://pypi.douban.com/simple

---> Using cache

---> d896cb71a359

Step 5/9 : WORKDIR /code

---> Using cache

---> c4d15025b172

Step 6/9 : ADD . /code

---> 8dcd424c81cd

Step 7/9 : RUN pip install -r requirements.txt --index-url https://pypi.douban.com/simple

---> Running in 8b84c81bfe5e

Step 8/9 : EXPOSE 8000

---> Running in d02c088d286d

Removing intermediate container d02c088d286d

---> 87bda6266abe

Step 9/9 : CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

---> Running in 1e616dd15c29

Removing intermediate container 1e616dd15c29

---> 984e5b0a9896

Successfully built 984e5b0a9896

Successfully tagged django_yoyo:latest

当看到 Successfully built 镜像就制作完成了,可以使用docker images查看镜像

[root@VM_0_2_centos yoyo]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

django_yoyo latest 984e5b0a9896 58 seconds ago 1.2GB

这是本地镜像的制作过程,有镜像仓库的小伙伴,上传到镜像仓库,其它小伙伴部署起来更方便,直接通过docker pull就可以拉到镜像了。

镜像仓库上传参考这篇https://www.cnblogs.com/yoyoketang/p/11923263.html

启动容器

docker run 运行容器,将容器8000端口映射到宿主机8000端口

docker run -d -p 8000:8000 --name web_yoyo1 django_yoyo

查看容器状态'docker ps -a'查看容器是否是Up状态

[root@VM_0_2_centos yoyo]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

ffd12bbbc16a django_yoyo "python manage.py ru…" About a minute ago Up About a minute 0.0.0.0:8000->8000/tcp

容器启动成功就可以访问django项目的页面了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值