一.使用都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"] # 容器启动时默认执行的命令
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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