使用Dockerfile封装Django镜像
第一步:
在/opt下建立了docker目录,下载一个django-2.1.7的源码包, touch Dockerfile和run.sh,其中run.sh是用来执行Django的bash脚本,Dockerfile即为自动build python的文件,此文中的核心也是Dockerfile. 下载阿里云扩展源epel.repo文件,也放在此目录
wget https://media.djangoproject.com/releases/2.1/Django-2.1.7.tar.gz
wget -O epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
第二步:编写Dockerfile
FROM centos
MAINTAINER TigerLee ADD epel.repo /etc/yum.repos.d # 将当前目录的epel.repo文件拷贝到容器的/etc/yum.repos.d目录下
RUN yum update -y # 运行命令 RUN yum install -y python36
RUN yum install -y python36-pip
RUN pip3 install setuptools
ADD Django-2.1.7.tar.gz /opt/ WORKDIR /opt/ # 进入/opt目录
RUN mv Django-2.1.7 django # 运行命令mv WORKDIR /opt/django # 进入/opt/django目录
RUN python3 setup.py install WORKDIR /opt
RUN django-admin.py startproject qishi3dj ADD run.sh /opt/qishi3dj/run.sh
WORKDIR /opt/qishi3dj
RUN chmod 777 run.sh
EXPOSE 8000 # 声明容器端口
CMD ["/bin/sh","run.sh"] # 容器启动时默认执行的命令
FROM centos
MAINTAINER TigerLee ADD epel.repo /etc/yum.repos.d
RUN yum update -y RUN yum install -y python36
RUN yum install -y python36-pip
RUN pip3 install setuptools
ADD Django-2.1.7.tar.gz /opt/ WORKDIR /opt/
RUN mv Django-2.1.7 django WORKDIR /opt/django
RUN python3 setup.py install WORKDIR /opt
RUN django-admin.py startproject qishi3dj ADD run.sh /opt/qishi3dj/run.sh
WORKDIR /opt/qishi3dj
RUN chmod 777 run.sh
EXPOSE 8000
CMD ["/bin/sh","run.sh"]
简洁配置版
第三步:编写run.sh
python3 manage.py runserver 0.0.0.0:8000
第四步:创建镜像在docker目录下执行命令
sudo docker build -t xumou/django-217 . # 这个 . 不能忘记,不然不能创建成功
第五步:查看docker的镜像(显示创建成功)
docker images

第六步:后台启动镜像,并把8000端口影射出来
[root@tom docker]# docker run -d -p 9090:8000 xumou/django-217

第七步:查看容器状态:
docker ps

第八步:使用交互式模式进入容器,再使用ps -ef查看运行的进程
进入容器的交互模式必须先将镜像运行后产生一个容器
先运行镜像并使其后台持续运行:
[root@tom docker]# docker run -d -i -t da9bb3ba44d6 /bin/bash
然后再执行命令行进入容器交互模式:
[root@tom docker]# docker exec -it 2b47bb54dfb7(容器id) /bin/bash
第九步:查看运行的进程:
[root@2b47bb54dfb7 qishi3dj]# ps -ef

第十步:使用和调试() 查看运行中的容器:
[root@tom docker]# docker container ls

第十一步:进入容器:
[root@tom docker]# docker exec -it 2b47bb54dfb7(容器id) /bin/bash

第十二步:(已经进入了容器内了),找到这个django项目的settings.py文件
[root@2b47bb54dfb7 qishi3dj]# ls

第十三步:将settings文件的host添加 *

第十四步:在浏览器中输入django的访问页面


使用Dockerfile封装Django镜像的更多相关文章
- Dockerfile封装Django镜像
部署过程 1.查看镜像 docker images 2.在/opt下建立了docker目录,下载一个django-2.1.7的源码包, mkdir -p /opt/docker cd /docker ...
- dockerfile封装docker镜像
一.使用都dockerfile封装docker镜像 1.在任意一个地方创建文件夹docker mkdir docker 2.进入文件夹并且下载一个django2.1.7的包以及一个epel.repo ...
- Docker 封装java镜像
一.概述 目前java采用的框架是Spring,服务器直接通过 java -jar xxx.jar 就可以启动服务了. 二.jdk镜像 在docker中跑java应用,需要有jdk环境支持才行. 获取 ...
- Docker:dockerfile自动构建镜像 [六]
一.手动docker镜像的缺点 相对于手动制作的docker镜像,使用dockerfile构建的镜像有以下优点: 1.dockerfile只有几kb,便于传输 2.使用dockerfile构建出来的镜 ...
- Dockerfile制作自定义镜像
本文介绍最精简的Dockerfile文件构建镜像,Docker启动的时候可以启动一个shell脚本 1.首先编写Dockerfile文件 说明 1.启动的这个shell脚本一定是不退出的,比如服务器的 ...
- 使用dockerfile,创建gitblit镜像
1. 快速使用gitblit镜像 1.1 push 镜像 # docker pull /gitblit 1.2 查看下载的镜像 # docker images | grep "gitblit ...
- 使用Dockerfile来构建镜像
Dockerfile原理 创建Dockerfile Dockerfile实例 Dockerfile指令 注释 FROM MAINTAINER RUN ADD WORKDIR ENV USER COPY ...
- Docker 使用Dockerfile构建tomcat镜像
Dockerfile概念: 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题. ...
- Docker、Dockerfile、Docker镜像、容器这些都是什么鸟?
老生常谈,再再再……普及一下: Docker:最早是dotCloud公司出品的一套容器管理工具,但后来Docker慢慢火起来了,连公司名字都从dotCloud改成Docker. Dockerfile: ...
随机推荐
- 利用webSocket实现浏览器中多个标签页之间的通信
webSoket用来实现双向通信,客户端和服务端实时通信. webSoket优点和缺点? 优点:对于前端来说,使用简单,功能灵活,如果部署了webSocket服务器,可以实现实时通信. 缺点:需要服务 ...
- JavaEE高级-Spring学习笔记
*Spring是什么? - Spring是一个开源框架 - Spring为简化企业级应用开发而生.使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能 - Spring是一个I ...
- 一、在 ASP.NET Core 中使用 SignalR
一.介绍 SignalR 是一个用于实现实时网站的 Microsoft .NET 库.它使用多种技术来实现服务器与客户端间的双向通信,服务器可以随时将消息推送到连接的客户端. https://docs ...
- do{}while(0);里面有continue
do{}while(0);里面有continue,退出的只是do{}while(0);
- vim小白练习记录
1.vim卡死 按ctrl+s键后 vim卡死,按任何键不管用,按ctrl+q恢复
- 四、ARM 异常处理
4.1 模式与异常 当正常程序流程被暂时停止发生异常,例如响应一个来自外设的中断.在处理异常前,必须保护当前的处理器状态,以便在完成处理程序后能恢复到原来的程序 . 异常的类型: Reset unde ...
- linux tomcat 中文文件上传乱码
找到tomcat文件夹下的conf/server.xml,在connector节点下新增URIEncoding="utf-8"参数 <Connector connection ...
- CH0805 防线 (二分值域,前缀和,特殊性质)
$ CH~0805~ $ 防线 (二分值域,前缀和,特殊性质) $ solution: $ 注意博主所给题面的输出和原题有些不同 这道题当时想了很久很久,就是想不到怎么写.果然还是太 $ vegeta ...
- 如何在vue中引入图片?
当我们在Vue.js项目中引用图片时,关于图片路径有以下几种情形: 使用一. 我们在data里面定义好图片路径 imgUrl:'../assets/logo.png' 然后,在template模板里面 ...
- 计算两个GPS坐标的距离
场景:已知两个GPS点的经纬度坐标信息.计算两点的距离. 1. 距离/纬度关系 GPS: 22.514519,113.380301 GPS: 22.511962,113.380301 距离: 284. ...