zoukankan      html  css  js  c++  java
  • 使用Dockerfile封装Django镜像

    第一步:

    在/opt下建立了docker目录,下载一个django-2.1.7的源码包,
    
    touch Dockerfile和run.sh,其中run.sh是用来执行Django的bash脚本,Dockerfile即为自动build python的文件,此文中的核心也是Dockerfile.
    
    下载阿里云扩展源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
     

    第二步:编写Dockerfile

    FROM centos
    MAINTAINER TigerLee
    
    ADD epel.repo /etc/yum.repos.d  # 将当前目录的epel.repo文件拷贝到容器的/etc/yum.repos.d目录下
    RUN yum update -y  # 运行命令
    
    RUN yum install -y python36
    RUN yum install -y python36-pip
    RUN pip3 install setuptools
    ADD Django-2.1.7.tar.gz /opt/
    
    WORKDIR /opt/  # 进入/opt目录
    RUN mv Django-2.1.7 django  # 运行命令mv
    
    WORKDIR /opt/django    # 进入/opt/django目录
    RUN python3 setup.py install
    
    WORKDIR /opt
    RUN django-admin.py startproject qishi3dj
    
    ADD run.sh /opt/qishi3dj/run.sh
    WORKDIR /opt/qishi3dj
    RUN chmod 777 run.sh
    EXPOSE 8000  # 声明容器端口
    CMD ["/bin/sh","run.sh"]  # 容器启动时默认执行的命令
    FROM centos
    MAINTAINER TigerLee
    
    ADD epel.repo /etc/yum.repos.d
    RUN yum update -y
    
    RUN yum install -y python36
    RUN yum install -y python36-pip
    RUN pip3 install setuptools
    ADD Django-2.1.7.tar.gz /opt/
    
    WORKDIR /opt/
    RUN mv Django-2.1.7 django
    
    WORKDIR /opt/django
    RUN python3 setup.py install
    
    WORKDIR /opt
    RUN django-admin.py startproject qishi3dj
    
    ADD run.sh /opt/qishi3dj/run.sh
    WORKDIR /opt/qishi3dj
    RUN chmod 777 run.sh
    EXPOSE 8000
    CMD ["/bin/sh","run.sh"]
    简洁配置版

    第三步:编写run.sh

    python3 manage.py runserver 0.0.0.0:8000

    第四步:创建镜像在docker目录下执行命令

    sudo docker build -t xumou/django-217 .     # 这个 .  不能忘记,不然不能创建成功

    第五步:查看docker的镜像(显示创建成功)

    docker images

    第六步:后台启动镜像,并把8000端口影射出来

    [root@tom docker]# docker run -d -p 9090:8000 xumou/django-217

    第七步:查看容器状态:

    docker ps

    第八步:使用交互式模式进入容器,再使用ps -ef查看运行的进程

    进入容器的交互模式必须先将镜像运行后产生一个容器
    先运行镜像并使其后台持续运行:
    [root@tom docker]# docker run -d -i -t da9bb3ba44d6 /bin/bash
    然后再执行命令行进入容器交互模式:
    [root@tom docker]# docker exec -it 2b47bb54dfb7(容器id) /bin/bash

    第九步:查看运行的进程:

    [root@2b47bb54dfb7 qishi3dj]# ps -ef

    第十步:使用和调试()  查看运行中的容器:

    [root@tom docker]# docker container ls

    第十一步:进入容器:

    [root@tom docker]# docker exec -it 2b47bb54dfb7(容器id) /bin/bash

    第十二步:(已经进入了容器内了),找到这个django项目的settings.py文件

    [root@2b47bb54dfb7 qishi3dj]# ls

    第十三步:将settings文件的host添加  *

     第十四步:在浏览器中输入django的访问页面

  • 相关阅读:
    Git教程
    Android 使用AIDL调用外部服务
    Android 不同文件名介绍
    详解Android首选项框架ListPreference
    Android 使用Telephony API
    Android ImageButton android:scaleType
    Java实现二维码QRCode的编码和解码
    java二维码生成与解析代码实现
    Java中转UTC时间字符串(含有T Z)为local时间
    http://www.yihaomen.com/article/java/302.htm
  • 原文地址:https://www.cnblogs.com/one-tom/p/11106837.html
Copyright © 2011-2022 走看看