首页 > 其他 > 详细

Django项目的docker镜像制作

时间:2020-01-19 19:39:52      阅读:104      评论:0      收藏:0      [点我收藏+]

最近搞了个django项目,在各个环境部署时总会遇到问题,于是便想到了docker部署,接下来记录一下一下docker镜像制作部署的流程。

基础镜像:镜像中运行的项目或者启动的一些服务,都要在一个基础镜像之上才能运行这些服务,比如一个django项目或者mysql数据库等,都要在Linux操作系统之上来运行,所以打包我们自己的项目时,必须要有个基础镜像来当作我们项目运行的基础环境。

一、基础镜像制作(python运行环境搭建)

1.基础镜像的dockerfile

#基础镜像为centos,版本为7,build镜像时会自动下载
FROM centos:7  

#制作者信息
MAINTAINER jiayifei

#设置环境变量
ENV CODE_DIR=/home/jiayifei/project/LittleCow
ENV DOCKER_SCRIPTS=$CODE_DIR/base_image/scripts

#将scripts下的文件复制到镜像中的DOCKER_SCRIPTS目录
COPY ./scripts/* $DOCKER_SCRIPTS/

#执行镜像中的provision.sh脚本
RUN chmod a+x $DOCKER_SCRIPTS/*
RUN $DOCKER_SCRIPTS/provision.sh

2.provision.sh 文件

#!/bin/bash
set -e
 
#python的一些依赖
yum install -y     kde-l10n-Chinese    glibc-common    git    wget    mysql-devel    gcc    swig    pulseaudio    pulseaudio-libs    pulseaudio-libs-devel    zlib-devel    bzip2-devel    openssl-devel    ncurses-devel    sqlite-devel    readline-devel    tk-devel    gdbm-devel    db4-devel    libpcap-devel    xz-devel    libffi-devel    ncurese-devel    automake    autoconf    libtool    make    alsa-lib-devel    poppler-utils 
#python3.7
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
tar -zxvf Python-3.7.4.tgz
cd Python-3.7.4
./configure
make && make install
rm -rf Python-3.7.4*
 
#pip3
wget --no-check-certificate https://github.com/pypa/pip/archive/9.0.1.tar.gz
tar -zvxf 9.0.1.tar.gz
cd pip-9.0.1
python3.7 setup.py install
rm -rf pip-9.0.1*
pip3 install --upgrade setuptools

3.build基础镜像

docker build -t base_lcow:v1.0 .

二、项目镜像制作(项目运行环境搭建)

1、项目镜像的Dockerfile

#基础镜像
FROM base_lcow:v1.0
 
#语言编码设置
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
ENV LC_ALL zh_CN.UTF-8
 
 
#将项目目录文件复制到镜像中,CODE_DIR是在基础镜像中定义的
COPY . $CODE_DIR/
 
 
#安装项目依赖包
RUN pip3 install -r $CODE_DIR/requirement.txt
 
#暴露端口
EXPOSE 8080
 
 
#启动项目
CMD ["python3.7", "/home/jiayifei/project/LittleCow/manage.py", "runserver", "0.0.0.0:8080"]

2.build项目镜像

docker build -t lcow:v1.0 .

3.启动镜像

docker run -it -p ip:443:8080 镜像id

 

 

参考博客:https://blog.csdn.net/bocai_xiaodaidai/article/details/92838984

Django项目的docker镜像制作

原文:https://www.cnblogs.com/ftxy/p/12215292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!