用Docker封装一个web应用(Django)
2015-01-28 17:23
465 查看
一.复用以前一个封装了SSH的镜像,如果没有封装SSH,可以使用自己的镜像或参考我以前博文:叫板OpenStack:用Docker实现私有云 的前五步
接下来便是正题.
二.部署过程
1.查看镜像
2.在/home下建立了docker目录,下载一个django-1.7的源码包,touch dockerfile和run.sh,其中run.sh是用来执行Django的bash脚本,Dockerfile即为自动build python
的文件,此文中的核心也是Dockerfile.
3.编写Dockerfile
4.编写run.sh
三.开始构建
构建完成后,可以看到生成一个新镜像:
和一个暴露了8080端口的新容器:
四.此时后台启动镜像,并把8080端口映射出来:
netstat查看一下宿主机的8080端口
五.使用和调试
执行完以上四个步骤,已经可以使用这个封装了django的镜像,接下来查看一下登陆界面
如果需要查看log日志,可以使用如下命令,-f代表持续打印:
如果需要进入容器修改web内容,可以通过ssh连接进入,前文已有类似说明,在此不做赘述。
六.导出镜像
接下来便是正题.
二.部署过程
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
相关文章推荐
- 用Docker封装一个web应用(Django)
- docker - 从安装到部署一个web应用(go、java)
- docker - 从安装到部署一个web应用(go、java)
- Docker学习系列---运行一个web 应用
- 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?
- docker - 从安装到部署一个web应用(go、java)
- docker - 从安装到部署一个web应用(go、java)
- 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?
- Docker部署Web应用(Django)
- Docker是如何部署一个web应用的
- Ajax: 一个建立Web应用的新途径
- 同一个WEB服务器中两个应用中的目录共享方法
- 综合应用WPF/WCF/WF/LINQ之三十六:实现一个完全封装的SortableListView控件
- Web 2.0更像一个桌面应用
- Asp.net中处理一个站点不同Web应用共享Session的问题
- Ajax: 一个建立Web应用的新途径
- [转]Django 是一个 Python 下的 web 开发框架[学习资料]
- 初来乍到,发布一个杀手应用:snap.com的web预览图功能,我给它取名叫“WebSnap”
- 团队开发中,如何处理一个站点不同Web应用通用Session
- web版的outlook和project的结合,再和sns 结合,形成组织之间的一个共享信息.还有更多应用