一.復用以前一個封裝了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