• 首先拉取centos镜像

    docker pull centos:7
    
  • 在根目录下创建文件夹mydjangodockerfile

    mkdir mydjangodockerfile
    cd mydjangodockerfile
    
  • 下载django-2.1.7 和阿里云扩展源epel.repo文件。

    wget https://media.djangoproject.com/releases/2.1/Django-2.1.7.tar.gz
    wget -O epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    
  • 此时mydjangodockerfile下文件应如下

    Docker篇章10:自己构建django的docker镜像

  • 编写Dockerfile文件

    FROM centos:7#继承centos
    MAINTAINER xujunkai<xujunkaipy@163.com>#作者信息
    
    ADD epel.repo /etc/yum.repos.d#将epel源文件,拷贝到容器/etc/yum.repos.d,ADD相比COPY,还带压缩解压
    
    RUN yum update -y#执行yum更新
    RUN yum install -y python36#下载python36
    RUN yum install -y python36-pip#下载pip工具
    RUN pip3 install setuptools#下载setuptools
    ADD Django-2.1.7.tar.gz /opt/#将当前tar.gz包解压并复制到容器opt下
    
    WORKDIR /opt/#更换工作目录
    RUN mv Django-2.1.7 django#将解压后的Django-2.1.7移动到django文件夹下
    
    WORKDIR /opt/django
    RUN python3 setup.py install#执行安装命令
    
    WORKDIR /opt
    RUN django-admin.py startproject mypro#创建django项目mypro
    ADD run.sh /opt/mypro/run.sh#将run.sh拷贝容器内
    RUN sed -i "s/ALLOWED_HOSTS = \[\]/ALLOWED_HOSTS = \['\*'\]/g" /opt/mypro/mypro/settings.py#更改ALLOWED_HOSTS让其他IP能访问
    
    WORKDIR /opt/mypro
    RUN chmod 777 run.sh
    
    EXPOSE 8000#暴露端口8000
    CMD ["/bin/sh","run.sh"]#执行run.sh
    
  • 编写run.sh,django启动命令

    python3 manage.py runserver 0.0.0.0:8000
    
  • 构建镜像

    docker build -t xjk/django-217 .
    #执行此命令要在Dockerfile所在目录下,别忘记点,表示当前目录
    
  • 启动容器

    #端口映射
    docker run -d -p 8888:8000 xjk/django-217
    
  • 查看容器状态:docker ps

    Docker篇章10:自己构建django的docker镜像

  • 使用交互式进入容器

    docker exec -it 容器ID /bin/bash
    
  • ps -ef 也可查看

    Docker篇章10:自己构建django的docker镜像

  • 打开浏览器访问

    Docker篇章10:自己构建django的docker镜像

相关文章:

  • 2021-11-20
  • 2021-10-16
  • 2021-07-07
  • 2021-11-05
  • 2021-04-18
  • 2022-12-23
  • 2021-05-13
  • 2021-08-04
猜你喜欢
  • 2021-12-20
  • 2021-08-21
  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
  • 2021-07-05
  • 2021-10-30
相关资源
相似解决方案