1.Docker 要求 CentOS 系統的內核版本高於 3.10 ,驗證你的CentOS 版本是否支持 Docker
uname -r
2.安裝各種依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
3.設置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.查看所有docker版本
yum list docker-ce --showduplicates | sort -r
5.安裝最新docker,出現選擇時輸入y即可,一路安裝成功
yum install docker-ce
結果最后如下
6.安裝成功后啟動docker並查看docker進程
sudo systemctl start docker
ps aux |grep docker
如下表示安裝成功
7.django項目結構
dockerfile為docker生成鏡像文件時執行的文本文件
內容如下
FROM python:3.6
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY pip.conf /root/.pip/pip.conf
COPY requirements.txt /usr/src/app/
RUN pip install -r /usr/src/app/requirements.txt
RUN rm -rf /usr/src/app
COPY . /usr/src/app
CMD [ "python", "./manage.py", "runserver", "0.0.0.0:8080"]
pip.conf為pip下載源設置(由於國外的下載源特別慢)
內容如下
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
進入dockfile所在的目錄,利用如下命令將所有需要的模塊信息打包
pip freeze >requirements.txt
修改settings.py文件ALLOWED_HOSTS=[*]
8.開始部署
現在開始docker部署
8.1 還在dockerfile同級目錄,生成鏡像文件
docker build -t my-python-app
8.2 開啟容器
docker run -it --rm -p 8080:8080 --name docker_python1 my-python-app:latest
命令解釋
docker_python1 容器名字
my-python-app 鏡像文件名字
8080:8080 端口映射 由於前面dockerfile中django執行命令端口是8080,所以前面的端口映射8080,也可以寫成 8000:8080
8.3 使用公網ip訪問即可
8.4 進入docker容器
docker exec -it docker_python1 /bin/bash
8.5 查看所有鏡像
docker image ls