Docker 部署Django项目的方法示例

 更新时间:2019年01月14日 09:10:19   作者:鬼谷君  
这篇文章主要介绍了Docker 部署Django项目的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

使用docker部署django项目也很简单,挺不错,分享下

环境

默认你已安装好docker环境

django项目大概结构

(p3s) [root@opsweb]# tree opsweb
opsweb
├── apps
├── logs
├── manage.py
├── media
├── opsweb
├── README.md
├── requirements.txt
└── static

编写Dockerfile

这里指定 Python 版本为docker官方提供的

"0.0.0.0:8000" 这里笔者开启容器中 8000 端口
FROM python:3.6
RUN mkdir -p /usr/src/app
COPY pip.conf /root/.pip/pip.conf
COPY opsweb /usr/src/app/
COPY run_web.sh /usr/src/app/
RUN pip install -r /usr/src/app/requirements.txt
WORKDIR /usr/src/app
CMD [ "sh", "./run_web.sh"]

编写pip文件

这里是为了使用镜像 pip install速度快些 使用阿里云源

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

完整目录结构

[root@opsweb]# ls
Dockerfile opsweb pip.conf run_web.sh

build镜像

docker build -t ops:v0.1 .
Sending build context to Docker daemon 4.849 MB
Step 1 : FROM python:3.6
 ---> 3e4c2972dc8d
Step 2 : RUN mkdir -p /usr/src/app
 ---> Running in 8ddd929f5c18
 ---> 89dc0a1ffdf0
Removing intermediate container 8ddd929f5c18
Step 3 : COPY pip.conf /root/.pip/pip.conf
 ---> 5a4a165fed90
Removing intermediate container 37f3fdc7e5d2
Step 4 : COPY opsweb /usr/src/app/opsweb
 ---> f602e72ffd4c
Removing intermediate container 8d4bb616916d
Step 5 : COPY opsweb/requirements.txt /usr/src/app/
 ---> 6fe11a6fcbe0
Removing intermediate container faeadee32fed
Step 6 : RUN pip install -r /usr/src/app/requirements.txt
 ---> cc09c17d53da
Removing intermediate container d7b45bec6993
Step 7 : WORKDIR /usr/src/app
 ---> Running in c22dfdddbe81
 ---> c5c944b6df45
Removing intermediate container c22dfdddbe81
Step 8 : CMD python ./manage.py runserver 0.0.0.0:8000
 ---> Running in 29d5f0f53f6e
 ---> 10d37173fd13
Removing intermediate container 29d5f0f53f6e
Successfully built 10d37173fd13

结语

这样镜像就build好了,然后你可以直接docker run -p8000:8000 ops:v0.1 -d启动就行,或者也可以部署到k8s上去也很简单这里就不细讲了。

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

相关文章

  • Alpine Docker镜像字体的问题解决操作

    Alpine Docker镜像字体的问题解决操作

    这篇文章主要介绍了Alpine Docker镜像字体的问题解决操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 解决docker指定udp端口号的问题

    解决docker指定udp端口号的问题

    这篇文章主要介绍了解决docker指定udp端口号的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker compose自定义网络实现固定容器ip地址

    docker compose自定义网络实现固定容器ip地址

    这篇文章主要介绍了docker compose自定义网络实现固定容器ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • docker registry 镜像同步的实现思路

    docker registry 镜像同步的实现思路

    这篇文章主要介绍了docker registry 镜像同步的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Docker build命令使用小结

    Docker build命令使用小结

    本文主要介绍了Docker build命令使用小结,主要用于使用Dockerfile创建镜像,它会根据用户提供的Dockerfile文件,在本地构建出一个新的镜像,感兴趣的可以了解一下
    2023-12-12
  • 聊聊Docker不适合跑 MySQL 的N个原因

    聊聊Docker不适合跑 MySQL 的N个原因

    容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题,这篇文章主要介绍了Docker 为什么不适合跑 MySQL?有N个原因,需要的朋友可以参考下
    2022-12-12
  • jenkins中通过Publish Over SSH插件将项目部署到远程机器上的讲解说明

    jenkins中通过Publish Over SSH插件将项目部署到远程机器上的讲解说明

    今天小编就为大家分享一篇关于jenkins中通过Publish Over SSH插件将项目部署到远程机器上的讲解说明,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Docker 教程之获取镜像基础知识详解

    Docker 教程之获取镜像基础知识详解

    这篇文章主要介绍了Docker 教程之获取镜像详解的相关资料,需要的朋友可以参考下
    2016-12-12
  • Docker 退出container后保持继续运行的操作

    Docker 退出container后保持继续运行的操作

    这篇文章主要介绍了Docker 退出container后保持继续运行的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker多个容器不能有相同端口号的处理方案

    Docker多个容器不能有相同端口号的处理方案

    这篇文章主要介绍了Docker多个容器不能有相同端口号的处理方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论