window环境下使用docker部署django项目

说明:

这里主要讲如何用Docker启动一个Django项目,所以一些高级的部署方式,比如说用nginx管理等都没有涉及。

引用文章:https://blog.csdn.net/BlueBlueSkyZ/article/details/89083285

1、安装

参考文章:https://www.cnblogs.com/daxnet/p/7719574.html

2、项目准备

在window下准备好项目文件,并在文件根目录下创建两个子文件(pip.conf看个人需要进行创建)

文件说明:

 pip.conf   这是pip的配置文件,主要是替换下载源可选择阿里、清华、豆瓣等

 这里选择阿里:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

requirements.txt

自己项目所需的依赖库(文件名称可以随意命名):

文件生成命令,打开终端输入pip freeze > requirements.txt

Dockerfile

这个是关键,创建时要特别注意没有后缀,内容如下:

FROM python:3.6
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY pip.conf /root/.pip/pip.conf
COPY requirements.txt /usr/src/app/
RUN pip install -r /usr/src/app/requirements.txt
RUN rm -rf /usr/src/app
COPY . /usr/src/app
CMD [ "python", "./manage.py", "runserver", "0.0.0.0:8080"]

这个解释比较全面:http://www.dockone.io/article/3656

1、以官方库python:3.6为基础进行制作,实际是一个装有python3.6的Linux
2、运行命令创建新文件夹 /usr/src/app
3、确定工作路径
4、将本地的pip.conf复制到pip的根中进行替换
5、将requirements.txt复制到指定目录下
6、运行命令按照requirements.txt的内容进行pip安装
7、运行命令删除这个文件夹中的所有内容,-rf是递归强制删除
8、将整个项目复制到这个文件夹中
9、执行命令运行Django项目的启动文件,并开放8080端口

制作镜像image

在项目根目录下执行这个Dockerfile文件,随便给镜像取个名字test,后面的.表示当前文件夹,会自动寻找Dockerfile文件并执行。

docker build -t test .

系统会一行一行执行,因为Dockerfile就是分层执行的,失败了会回滚。

运行容器

镜像完成我们就可以通过镜像制作容器了。
-d表示开启守护进程模式将我们的项目后台挂起,-p映射端口,这边我就没改。。有时候搞不清楚,前面的是本机的端口,后面的是Docker内部镜像的端口,这边开放的端口由上面Dockerfile文件指定过。

docker run -d -p 8080:8080 my-python-app

访问

直接在浏览器内输入localhost:8080,即可查看效果。

 

打包

完成本机打包之后,我们需要提交到云服务器上,有了Docker再也不用一步一步复制,安装环境,然后调试了。如果本机Docker测试通过,即表示该镜像可用,可以真正做到了一次部署,随处使用

 

修改名称

需要根据你的用户名修改你镜像的名称,比我的用户名为hhh123456,就需要在镜像前添加hhh123456

docker tag XXX hhh123456/XXX

 

如果不修改的话会报错:denied: requested access to the resource is denied。因为默认是推送到library仓库中去的,当然没有权限

推送

直接填写完整的镜像名进行推送。

docker push hhh123456/XXX

推送

拉取

连接远程主机,填写完整的镜像名进行直接拉取即可。

docker pull hhh123456/XXX

docker run -d -p 8080:8080 hhh123456/XXX

或者是直接运行

docker run hhh123456/xxx

通过域名或者IP对Django项目进行访问,至此完成云服务器上的部署。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值