第一步:
在/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"] # 容器启动时默认执行的命令
![](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 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