ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

dockerfile 构建django环境

2021-12-26 23:04:49  阅读:175  来源: 互联网

标签:itcast data py django 构建 镜像 docker dockerfile


 

学习目标: 应用 Dockerfile的生产使用流程 应用 Dockerfile定制web项目镜像

项目描述

django官方网站:https://code.djangoproject.com/ 基于我们在shell自动化运维课程中的项目案例,我们现在来使用Dockerfile做一个Docker镜像。

手工部署django项目环境

这一节,我们从需求、方案分析、技术关键点、方案、方案实施这五个方面来学习。   需求: 基于docker镜像,手工部署django项目环境   方案分析: 1、docker环境部署 2、django环境部署 3、djanog项目部署 4、测试   技术关键点: 1、docker环境部署 使用docker镜像启动一个容器即可 2、django环境部署 django软件的依赖环境 django软件的基本环境配置 3、django项目部署 django框架的下载 项目文件配置 启动django项目 4、测试 宿主机测试   解决方案: 1、docker环境配置 1.1 获取docker镜像 1.2 启动docker容器 2、django环境部署 2.1 基础环境配置 2.2 django环境配置 3、django项目部署 3.1 创建django项目 3.2 创建django应用 3.3 项目启动 4、测试 4.1 宿主机测试   方案实施: 1、docker环境配置 1.1 获取docker镜像 ubuntu-ssh 1.2 启动docker容器 启动容器,容器名称叫 django docker run -d -p 10086:22 --name django ubuntu-ssh 进入容器 ssh 192.168.8.14 -p 10086 2、django环境部署 2.1 基础环境配置 基础目录环境 mkdir /data/{server,softs} -p cd /data/softs scp root@192.168.8.14:/data/softs/Django-2.1.2.tar.gz ./ 注意: 因为我们的docker镜像就是唯一的,所以就没有必要单独创建python虚拟环境了 2.2 django环境配置 安装基本依赖软件 apt-get install python3-pip -y 安装django软件 cd /data/softs tar xf Django-2.1.2.tar.gz cd Django-2.1.2 python3 setup.py install 3、django项目部署 3.1 创建django项目 创建项目 cd /data/server django-admin startproject itcast 3.2 创建django应用 创建应用 cd /data/server/itcast python3 manage.py startapp test1     注册应用 # vim itcast/settings.py   INSTALL_APP = [     。。。     'test1', ] 配置应用 admin-1@ubuntu:/data/soft# cat /data/server/itcast/test1/views.py from django.shortcuts import render from django.http import HttpResponse   # Create your views here.   def hello(resquest):    return HttpResponse("itcast V1.0")             url文件配置 admin-1@ubuntu:/data/soft# cat /data/server/itcast/itcast/urls.py ... from test1.views import *   urlpatterns = [ path('admin/', admin.site.urls),       path('hello/', hello), ]   3.3 项目启动 设置访问主机 # vim itcast/settings.py ... ALLOWED_HOSTS = ['*'] 启动项目 python3 manage.py runserver 172.17.0.2:8000 注意: 要提前用ifconfig来检查一下当前容器的IP地址,以方面接下来的测试 4、测试 4.1宿主机测试 查看容器的ip地址 docker inspect django 浏览器、或curl查看效果: 172.17.0.2:8000/hello/

Dockerfile案例实践

这一节,我们从环境分析、关键点分析、定制方案、Dockerfile实践这三个方面来学习   环境分析: 1、软件源文件,使用国外源,速度太慢,所以我们可以自己使用国内的软件源。 因为我们在手工部署的时候,使用的是官方(国外)的源,所以为了部署快一点呢,我使用国内的源。 2、软件安装,涉及到了各种软件 3、软件运行涉及到了软件的运行目录 4、项目访问,涉及到端口   关键点分析: 1、增加文件,使用 ADD 或者 COPY 指令 2、安装软件,使用 RUN 指令 3、命令运行,使用 WORKDIR 指令 4、项目端口,使用 EXPOSE 指令 5、容器运行,使用 ENTRYPOINT   定制方案: 1、基于ubuntu-ssh基础镜像进行操作 2、安装环境基本软件 3、定制命令工作目录,并增加文件 4、开放端口 5、执行项目   Dockerfile定制 进入标准目录 mkdir /docker/images/django -p cd /docker/images/django 第一版dockerfile内容 # 构建一个基于ubuntu的docker定制镜像 # 基础镜像 FROM ubuntu-ssh # 镜像作者 MAINTAINER President.Wang 000000@qq.com # 执行命令 RUN apt-get install python3-pip -y # 增加文件 ADD Django-2.1.2.tar.gz /data/softs/ WORKDIR /data/softs/Django-2.1.2 RUN python3 setup.py install   # 创建项目 WORKDIR /data/server RUN django-admin startproject itcast # 创建应用 WORKDIR /data/server/itcast RUN python3 manage.py startapp test1 RUN sed -i "/staticfiles/a\    'test1'," itcast/settings.py # 配置应用 COPY views.py /data/server/itcast/test1/ RUN sed -i '/t p/a\from test1.views import *' itcast/urls.py RUN sed -i "/\]/i\    path('hello/', hello)," itcast/urls.py # 启动项目 RUN sed -i "s#S = \[\]#S = \['*'\]#" itcast/settings.py # 对外端口 EXPOSE 8000 # 运行项目 ENTRYPOINT ["python3","manage.py","runserver","0.0.0.0:8000"] 把Django-2.1.2.tar.gz和views.py文件放到这个目录中 效果查看 构建镜像 docker build -t ubuntu-django . 运行镜像 docker run -p 8000:8000 -d ubuntu-django 访问镜像,查看效果

 

标签:itcast,data,py,django,构建,镜像,docker,dockerfile
来源: https://www.cnblogs.com/yangzhu/p/15734479.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有