zoukankan      html  css  js  c++  java
  • 制作django项目的docker镜像

    基础镜像

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

    Dockerfile

    #基础镜像为centos,版本为7,build镜像时会自动下载
    FROM centos:7
    
    #制作者信息
    MAINTAINER xxxxxxxxxx@qq.com
    
    #设置环境变量
    ENV CODE_DIR=/home/project
    ENV DOCKER_SCRIPTS=$CODE_DIR/BaseImage/scripts
    
    #将scripts下的文件复制到镜像中的DOCKER_SCRIPTS目录
    COPY ./scripts/* $DOCKER_SCRIPTS/
    
    #执行镜像中的provision.sh脚本
    RUN chmod a+x $DOCKER_SCRIPTS/*
    RUN $DOCKER_SCRIPTS/provision.sh
    

    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.6
    wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
    tar -xf Python-3.6.7.tar.xz
    cd Python-3.6.7
    ./configure
    make && make install
    rm -rf Python-3.6.7*
    
    #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 setup.py install
    rm -rf pip-9.0.1*
    pip3 install --upgrade setuptools
    

    build基础镜像

    > docker build -t base_image:v1.2 .  # 后面的点一定要加
    

    项目镜像制作

    Dockerfile

    #基础镜像
    FROM base_image:v1.2  
    
    #语言编码设置
    RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
    ENV LC_ALL zh_CN.UTF-8
    
    
    #将项目目录文件复制到镜像中,CODE_DIR是在基础镜像中定义的
    COPY ./auto $CODE_DIR/auto/
    
    
    #安装项目依赖包(修改pip源,否则下载非常慢)
    RUN pip install -U pip
    RUN pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
    RUN pip config set install.trusted-host mirrors.aliyun.com
    RUN pip3 install -r $CODE_DIR/auto/requirements.txt
    
    #暴露端口
    EXPOSE 8080
    
    #启动项目
    CMD ["python3", "/home/project/auto/manage.py", "runserver", "0.0.0.0:8080"]
    

    build项目镜像

    切换到对应Dockerfile的目录下,执行如下指令

    > docke build -t auto:v1.2 .
    
  • 相关阅读:
    springmvc介绍
    mybatis中的动态sql应用
    mybatis中表的关联
    mybatis分页
    聚类评估指标系列(二):准确率和F值
    混淆矩阵,准确率,召回率,F-score,PR曲线,ROC曲线,AUC
    聚类评估指标系列(一):标准化互信息NMI计算步骤及其Python实现
    numpy.where() 用法详解
    互信息Mutual Information
    转:Prewitt算子、Sobel算子、canny算子、Lapacian算子
  • 原文地址:https://www.cnblogs.com/Yang-Sen/p/13299547.html
Copyright © 2011-2022 走看看