Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)

Docker部署Django搭建的Python应用流程

1.Docker离线安装配置

  • rpm版本安装
bash 复制代码
# 系统版本
rpm -qi centos-release
Name        : centos-release
Version     : 8.1
Release     : 1.1911.0.8.el8
Architecture: x86_64

Install Docker Engine On 不同版本 下载地址,当前使用的是 对应版本目录下的 docker-ce-20.10.13-3.el8.x86_64.rpm

bash 复制代码
# 安装 yum 会自动安装依赖
yum install /path/to/package.rpm
# 启动
systemctl start docker
# 验证
docker run hello-world

如果 yum源 没有问题,也可直接使用yum install docker-ce命令进行安装。

  • tgz版安装

解压版下载地址,当前使用的是docker-20.10.13.tgz

bash 复制代码
# 1.解压
tar -zxvf docker-20.10.13.tgz
# 2.移动到 /usr/bin/ 目录下【不要放到其他文件夹下】
mv docker/* /usr/bin/
# 3.添加 service 服务
vim /etc/systemd/system/docker.service

docker.service文件默认内容,仅贴出核心配置,备注信息不再贴出:

bash 复制代码
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

StartLimitBurst=3
StartLimitInterval=60s

LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target
bash 复制代码
# 4.重载 unit 配置文件
systemctl daemon-reload
# 5.启动服务并查看状态
systemctl start docker
systemctl status docker
# 版本验证
[root@aliyun /]# docker version
Client:
 Version:           20.10.13
 API version:       1.40
 Go version:        go1.16.15
 Git commit:        a224086
 Built:             Thu Mar 10 14:01:44 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
# 设置开机自启
systemctl enable docker.service                                           

2.Django项目Docker部署

Docker 的 Python Official Image 使用指南

bash 复制代码
FROM python:3
WORKDIR /app
COPY requirements.txt ./
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
COPY . .
EXPOSE 8086
CMD python manage.py runserver 0.0.0.0:8086

使用更小的运行环境python:3.7-slim-stretch98MB

bash 复制代码
FROM python:3.7-slim-stretch
WORKDIR /app
COPY requirements.txt ./
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
COPY . .
EXPOSE 8086
CMD python manage.py runserver 0.0.0.0:8086
bash 复制代码
# 1.构建镜像 -f ./DockerFile
docker build -t algorithmcenter .
# 2.启动容器并加载镜像
docker run -di --name ac -p 8086:8086 algorithmcenter
# 3.查看日志
docker logs -f --tail=100 ac

访问验证: