制作django项目的docker镜像(代码片段)

yang-sen yang-sen     2022-12-04     788

关键词:

基础镜像

基础镜像:镜像中运行的项目或者启动的一些服务,都要在一个基础镜像之上才能运行这些服务,比如一个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 .

windows10环境下制作springboot项目的docker镜像以及与宿主机上mysqlredis进行桥接通信(代码片段)

Windows10环境下Docker镜像制作以及与宿主机上MySQL、Redis进行桥接通信软件版本一、IDEA配置Docker1,暴露Docker后台2,IDEA中配置连接Docker后台3,编写Dockerfile文件4,项目镜像和容器参数配置5,启动容器二、开通宿... 查看详情

关于制作docker镜像?|dockerfile快速开始(代码片段)

文章目录一、关于制作Docker镜像?🐋1.Docker镜像的构建原理和方式1.1Docker镜像的构建方式使用场景和选型二、Dockerfile快速开始什么是DockerfileDockerfile的基本结构Dockerfile常用的指令FROM命令LABELWORKDIRRUNCOPYCMDEXPOSEENTRYPOINTCMD与E... 查看详情

docker随笔:禅道docker镜像的制作(代码片段)

文章目录1说明1.1禅道官方有docker制作镜像说明1.2禅道官方有docker运行禅道镜像说明1.3docker安装源码下载1.4参考文章2制作2.1基础镜像确定2.2Dockerfile制定2.3docker-entrypoint.sh制定2.4制作3运行3.1直接使用dockerrun3.2使用docker-compose4上传doc... 查看详情

jenkins把github项目做成docker镜像(代码片段)

...va项目(Maven构建的),然后编辑构建此项目,并将构建结果制作成Docker镜像并且推送到私有镜像仓库;环境信息为了快速 查看详情

docker安装镜像和容器的操作(代码片段)

...Docker的容器就像操作一个快速轻量级的虚拟机一样简单#8django写了个项目, -部署到服务器---》代码放到服务器--》服务器装python环境(版本)--》django环境(版本)--》mysql(版本)-docker部署--》项目做成docker镜像-----》放到服务器---》拉... 查看详情

harbor单点仓库部署(代码片段)

...像地址修改为harbord的地址前面讲k8s集群部署完成如果将Django项目部署到k8s中,需要镜像,将Django项目打包成镜像推到镜像仓库中k8s创建pod或者deployment拉取镜像直接指定镜像仓库地址拉取相应的Django镜像一、环境准备1.1软件环境... 查看详情

docker镜像制作常用官方基础系统镜像的选择(代码片段)

...满足业务需求,我们通常需要基于官方Linux系统镜像制作私有镜像选择合适的的Docker官方基础Linux系统镜像成为了首先需要考虑的事情Docker镜像是只读的docker容器模板,封装着启动docker容器所需的文件系统结构和系统内部... 查看详情

docker镜像制作!(代码片段)

基于dockerfile制作镜像Dockerfile操作指令制作nginx镜像nginx镜像优化制作Tomcat镜像构建MySQL镜像Dockerfile操作指令指令含义FROM镜像指定镜像所基于的镜像,第一条命令必须是FROM指令,没创建一个镜像就要一条FROM指令MAINTAINER名... 查看详情

docker镜像制作!(代码片段)

基于dockerfile制作镜像Dockerfile操作指令制作nginx镜像nginx镜像优化制作Tomcat镜像构建MySQL镜像Dockerfile操作指令指令含义FROM镜像指定镜像所基于的镜像,第一条命令必须是FROM指令,没创建一个镜像就要一条FROM指令MAINTAINER名... 查看详情

docker制作镜像的方法(代码片段)

docker镜像简介docker镜像是分层的,由底层网上叠加下载。dockerfille是以文本的方式生成镜像,他的好处在于生成镜像后可以查看生成流程。相对于dockercommit,使它更加的安全可靠。使用dockerfile时必须有一个以Dockerfile... 查看详情

docker制作镜像的方法(代码片段)

docker镜像简介docker镜像是分层的,由底层网上叠加下载。dockerfille是以文本的方式生成镜像,他的好处在于生成镜像后可以查看生成流程。相对于dockercommit,使它更加的安全可靠。使用dockerfile时必须有一个以Dockerfile... 查看详情

3.docker的镜像制作(代码片段)

3.Docker的镜像制作容器优化使用对应版本的centos做yum源参考文档>>https://www.cnblogs.com/longloved/p/14918224.html在docker镜像中安装>>yuminstall-yopenssh*>>yuminstall-yopenssh-server启动ssh服务>>/etc/init.d/ssh 查看详情

测试环境docker化—基于ndp部署模式的docker基础镜像制作(代码片段)

本文来自网易云社区作者:孙婷婷背景我所在测试项目组目前的测试环境只有一套,在项目版本迭代过程中,开发或产品偶尔会在测试环境进行数据校验,QA人数在不断增加,各个人员在负责不同模块工作时也会产生脏数据,导... 查看详情

测试环境docker化—基于ndp部署模式的docker基础镜像制作(代码片段)

本文来自网易云社区作者:孙婷婷背景我所在测试项目组目前的测试环境只有一套,在项目版本迭代过程中,开发或产品偶尔会在测试环境进行数据校验,QA人数在不断增加,各个人员在负责不同模块工作时也会产生脏数据,导... 查看详情

使用docker部署django项目步骤(代码片段)

docker部署Django应用方式一:基于python基础镜像#第一种方式:基于python基础镜像来做cd/homemkdirmyprojectcdmyprojectdockerrun-di--name=myproject-p8080:8080-v/home/myproject:/homepython:3.6#mac/linuxwindow:xshell拖进去scpdjango_test.ziproot@101.133.225.166:/home/myprojec... 查看详情

docker镜像管理基础(代码片段)

...层docker存储驱动AUFSOverlayFSDeviceMapperdockerregistrydocker镜像的制作DockerHubdocker镜像的获取镜像的生成基于容器制作镜像镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件... 查看详情

docker镜像管理基础(代码片段)

...层docker存储驱动AUFSOverlayFSDeviceMapperdockerregistrydocker镜像的制作DockerHubdocker镜像的获取镜像的生成基于容器制作镜像镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件... 查看详情

docker快速入门——docker镜像制作(代码片段)

Docker快速入门——Docker镜像制作一、Dockerfile脚本1、Dockerfile脚本简介Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容就是描述该层应当如何构建。Dockerfile文件示例如下... 查看详情