一.使用都dockerfile封装docker镜像

  1.在任意一个地方创建文件夹docker

mkdir docker

  2.进入文件夹并且下载一个django2.1.7的包以及一个epel.repo

cd docker
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

  3.在此文件夹下两个文件Dockfile和run.sh

  

  4.编写Dockerfile文件

FROM centos
MAINTAINER TigerLee ADD epel.repo /etc/yum.repos.d # 将当前目录的epel.repo文件拷贝到容器的/etc/yum.repos.d目录下
RUN yum update -y # 运行命令(或yum不是最新的,确保版本比较新) RUN yum install -y python36
RUN yum install -y python36-pip
RUN pip3 install setuptools #安装python相关的东西
ADD Django-2.1.7.tar.gz /opt/ #把djang拷贝到/opt/目录下并且解压 WORKDIR /opt/ # 进入/opt目录
RUN mv Django-2.1.7 django # 运行命令mv WORKDIR /opt/django # 进入/opt/django目录
RUN python3 setup.py install #安装django WORKDIR /opt
RUN django-admin.py startproject qishi ADD run.sh /opt/qishi/run.sh
WORKDIR /opt/qishi
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 qishi ADD run.sh /opt/qishi/run.sh
WORKDIR /opt/qishi
RUN chmod 777 run.sh
EXPOSE 8000
CMD ["/bin/sh","run.sh"]

简洁版

  4.编写run.sh

python3 manage.py runserver 0.0.0.0:8000

  5.构建镜像

sudo docker build -t tom/django-217  .   最后那个点不能少,表示当前路劲

  查看镜像

  6.利用构建出来的镜像构造容器(记得端口映射)

 docker run -d -p 9090:8000  tom/django-217

  查看容器状态:

  

  7.使用交互式模式进入容器,再使用ps -ef查看运行的进程

docker exec -ti 450
ps -ef  

  8.运行状态查看

  9.使用浏览器访问

第一次访问发现报错,因为我们不是本机访问的,所以要修改配置
在ALLOW_HOSTS=['*']
修改完了重新运行容器

  10. 导出镜像

 docker save -o centos_django217.tar.gz tom/django-217

  

dockerfile封装docker镜像的更多相关文章

  1. Docker、Dockerfile、Docker镜像、容器这些都是什么鸟?

    老生常谈,再再再……普及一下: Docker:最早是dotCloud公司出品的一套容器管理工具,但后来Docker慢慢火起来了,连公司名字都从dotCloud改成Docker. Dockerfile: ...

  2. DOCKER学习_011:使用Dockerfile制作docker镜像

    前面使用commit的方式,制作一个docker镜像,本次介绍使用Dockerfile制作一个dockers镜像 [root@docker-server3 ~]# mkdir /openssh [ro ...

  3. 利用脚本快速执行Dockerfile以及docker镜像的启停与删除

    `关于脚本:` 'sh setup.sh build' # 将Dockerfile创建成镜像 'sh setup.sh run' # 启动build创建好的镜像,放到后台运行 'sh setup.sh ...

  4. 基于Dockerfile创建docker镜像

    0.先创建一个文件夹img mkdir img 1.Linux上新建3个文件 2.文件内容分别写入 (1)Dockerfile中 # 基于的基础镜像centos FROM centos # 维护该镜像 ...

  5. Dockerfile封装Django镜像

    部署过程 1.查看镜像 docker images 2.在/opt下建立了docker目录,下载一个django-2.1.7的源码包, mkdir -p /opt/docker cd /docker ...

  6. 使用Dockerfile封装Django镜像

    第一步: 在/opt下建立了docker目录,下载一个django-2.1.7的源码包, touch Dockerfile和run.sh,其中run.sh是用来执行Django的bash脚本,Dock ...

  7. Docker:dockerfile自动构建镜像 [六]

    一.手动docker镜像的缺点 相对于手动制作的docker镜像,使用dockerfile构建的镜像有以下优点: 1.dockerfile只有几kb,便于传输 2.使用dockerfile构建出来的镜 ...

  8. 构建Docker镜像两种方式的比较-Dockerfile方式和S2I方式

    前言 写Dockerfile是构建Docker镜像最通常的方式,接触过Docker的童鞋多少了解一些.前段时间研究OpenShift(paas的一种),发现了另外一种构建Docker镜像的方式:S2I ...

  9. [转] 构建Docker镜像两种方式的比较-Dockerfile方式和S2I方式

    原文地址:https://www.cnblogs.com/tianshifu/p/8127837.html 前言 写Dockerfile是构建Docker镜像最通常的方式,接触过Docker的童鞋多少 ...

随机推荐

  1. linux的操作

    对tomcat的操作 打开终端 cd /java/tomcat#执行bin/startup.sh #启动tomcatbin/shutdown.sh #停止tomcat tail -f logs/cat ...

  2. Visual assint x(转)

    最新破解版:Visual Assist X 10.8.2001 破解版 支持VC2013及以下版本 安装步骤: 1. 双击运行VA_A_Setup2001并安装 2. 双击运行Visual Assis ...

  3. 编写高质量代码改善C#程序的157个建议——建议67:慎用自定义异常

    建议67:慎用自定义异常 除非有充分的理由,否则不要创建自定义异常.如果要对某类程序出错做特殊处理,那就自定义异常.需要自定义异常的理由如下: 1)方便测试.通过抛出一个自定义的异常类型实例,我们可以 ...

  4. 年年岁岁花相似,岁岁年年人不同。——linux课程初探

    写在前面 记得大约两年以前第一次学习linux,当初的目的还仅仅是学习操作系统,后来慢慢开始写linux内核代码,慢慢学会重构与代码的维护.在娄老师课上感觉这些工具是如此亲切和熟悉,没错这些曾经被我抛 ...

  5. js调试工具Console命令详解——转

    一.显示信息的命令 <!DOCTYPE html> <html> <head> <title>常用console命令</title> < ...

  6. numpy数组与python的list互转,然后用json写入文件与c交互

    1.对于numpy的tofile方法,一个一维数组可以直接写成二进制形式,用c语言或者numpy.fromfile()可以读出来内容.而如果数组超过一维,tofile并不区分,也就是arr1=[1,2 ...

  7. [原创] 改善 Firemonkey Canvas 几何绘图质量问题(移动平台)

    说明: Fiiremonkey 的跨平台能力,大家有目共睹(一码同介面跨四平台),唯独移动平台在几何绘图方面,质量始终不尽人意,我也曾试着去修正(如:修正曲线平滑问题),也曾找过第三方案(如:AggP ...

  8. chrome console cheat sheet

    快捷键 打开console界面快捷键:ctrl+shift+J 清空log:ctrl+L 选项 Log XMLHTTPRequests:显示ajax Preserve log upon navigat ...

  9. Excel转Json工具

    应用程序在本地的数据配置的格式一般有JSON.XML.YAML.INI等格式,但是如果直接编写JSON数据往往不是特别方便, 今天给大家分享的是如何在EXCEL配置好数据,然后一键转换成JSON和C# ...

  10. .NET Core + gRPC 实现数据串流 (Streaming)

    引入 gRPC 是谷歌推出的一个高性能优秀的 RPC 框架,基于 HTTP/2 实现.并且该框架对 .NET Core 有着优秀的支持.最近在做一个项目正好用到了 gRPC,遇到了需要串流传输的问题. ...