zoukankan      html  css  js  c++  java
  • 用Docker封装一个web应用(Django)

    一.复用以前一个封装了SSH的镜像,如果没有封装SSH,可以使用自己的镜像或参考我以前博文:叫板OpenStack:用Docker实现私有云 的前五步

    接下来便是正题.

    二.部署过程

    1.查看镜像

    REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    ubuntu                    sshd                f61f7079461c        25 hours ago        666.3 MB

    2.在/home下建立了docker目录,下载一个django-1.7的源码包,touch dockerfile和run.sh,其中run.sh是用来执行Django的bash脚本,Dockerfile即为自动build python

    的文件,此文中的核心也是Dockerfile.

    root@iZ2893wjzgyZ:/home/docker# ls
    Django-1.7.4.tar.gz  Dockerfile  run.sh

    3.编写Dockerfile

    FROM ubuntu:sshd
    MAINTAINER Alex
    
    RUN apt-get update
    RUN apt-get install -y -q python-pip
    RUN pip install setuptools
    ADD Django-1.7.4.tar.gz /opt/
    
    WORKDIR /opt/
    RUN mv Django-1.7.4 django
    
    WORKDIR /opt/django
    RUN python setup.py install
    
    WORKDIR /opt
    RUN django-admin.py startproject mysite
    
    ADD run.sh /opt/mysite/run.sh
    WORKDIR /opt/mysite
    RUN chmod 777 run.sh
    EXPOSE 8080
    CMD ["/bin/sh","run.sh"]               

    4.编写run.sh

    python manage.py runserver 0.0.0.0:8080

    三.开始构建

    root@iZ2893wjzgyZ:/home/docker# sudo docker build -t ubuntu:web .

    构建完成后,可以看到生成一个新镜像:

    和一个暴露了8080端口的新容器:

    四.此时后台启动镜像,并把8080端口映射出来:

    root@iZ2893wjzgyZ:/home/docker# docker run -d -p 8080:8080  ubuntu:web

    netstat查看一下宿主机的8080端口

    五.使用和调试

    执行完以上四个步骤,已经可以使用这个封装了django的镜像,接下来查看一下登陆界面

    如果需要查看log日志,可以使用如下命令,-f代表持续打印:

    #docker logs -f container_id 

    如果需要进入容器修改web内容,可以通过ssh连接进入,前文已有类似说明,在此不做赘述。

     六.导出镜像

    root@iZ2893wjzgyZ:/home/docker# docker save -o ubuntu14.04_djangodemo.tar.gz ubuntu:web

     

  • 相关阅读:
    Ubuntu安装截图软件shutter
    Ubuntu18.04安装破解版MATLAB2018b
    Ubuntu18.04安装UHD+GNU Radio后找不到USRP B210解决办法
    USRP B210 更改A通道或B通道
    性能测试总结(三)--工具选型篇
    性能测试总结(二)---测试流程篇(转载)
    性能测试总结(一)---基础理论篇(转载)
    selenium 自动化测试面试题及答案
    Appium-测试失败后屏幕截图的
    七 Appium常用方法介绍
  • 原文地址:https://www.cnblogs.com/alexkn/p/4256440.html
Copyright © 2011-2022 走看看