標籤:
一.複用以前一個封裝了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)