使用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的訪問頁面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM