用Docker封裝一個web應用(Django)

來源:互聯網
上載者:User

標籤:

一.複用以前一個封裝了SSH的鏡像,如果沒有封裝SSH,可以使用自己的鏡像或參考我以前博文:叫板OpenStack:用Docker實現私人雲端 的前五步

接下來便是正題.

二.部署過程

1.查看鏡像

REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZEubuntu                    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.

[email protected]:/home/docker# lsDjango-1.7.4.tar.gz  Dockerfile  run.sh

3.編寫Dockerfile

FROM ubuntu:sshdMAINTAINER AlexRUN apt-get updateRUN apt-get install -y -q python-pipRUN pip install setuptoolsADD Django-1.7.4.tar.gz /opt/WORKDIR /opt/RUN mv Django-1.7.4 djangoWORKDIR /opt/djangoRUN python setup.py installWORKDIR /optRUN django-admin.py startproject mysiteADD run.sh /opt/mysite/run.shWORKDIR /opt/mysiteRUN chmod 777 run.shEXPOSE 8080CMD ["/bin/sh","run.sh"]               

4.編寫run.sh

python manage.py runserver 0.0.0.0:8080

三.開始構建

[email protected]:/home/docker# sudo docker build -t ubuntu:web .

 

構建完成後,可以看到產生一個新鏡像:

和一個暴露了8080連接埠的新容器:

四.此時後台啟動鏡像,並把8080連接埠映射出來:

[email protected]:/home/docker# docker run -d -p 8080:8080  ubuntu:web

netstat查看一下宿主機的8080連接埠

五.使用和調試

執行完以上四個步驟,已經可以使用這個封裝了django的鏡像,接下來查看一下登陸介面

如果需要查看log日誌,可以使用如下命令,-f代表持續列印:

#docker logs -f container_id 

如果需要進入容器修改web內容,可以通過ssh串連進入,前文已有類似說明,在此不做贅述。

 六.匯出鏡像

[email protected]:/home/docker# docker save -o ubuntu14.04_djangodemo.tar.gz ubuntu:web

 

 

 

用Docker封裝一個web應用(Django)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.