Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)
1.Docker离线安装配置
- rpm版本安装
# 系统版本rpm -qi centos-releaseName : centos-releaseVersion : 8.1Release : 1.1911.0.8.el8Architecture: x86_64
Install Docker Engine On 不同版本 下载地址,当前使用的是 对应版本目录下的 docker-ce-20.10.13-3.el8.x86_64.rpm
。
# 安装 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
。
# 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
文件默认内容,仅贴出核心配置,备注信息不再贴出:
[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notifyExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPIDTimeoutSec=0RestartSec=2Restart=alwaysStartLimitBurst=3StartLimitInterval=60sLimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinityTasksMax=infinityDelegate=yesKillMode=process[Install]WantedBy=multi-user.target
# 4.重载 unit 配置文件systemctl daemon-reload# 5.启动服务并查看状态systemctl start dockersystemctl status docker# 版本验证[root@aliyun /]# docker versionClient: 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 使用指南。
FROM python:3WORKDIR /appCOPY requirements.txt ./RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/COPY . .EXPOSE 8086CMD python manage.py runserver 0.0.0.0:8086
使用更小的运行环境python:3.7-slim-stretch
仅98MB
。
FROM python:3.7-slim-stretchWORKDIR /appCOPY requirements.txt ./RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/COPY . .EXPOSE 8086CMD python manage.py runserver 0.0.0.0:8086
# 1.构建镜像 -f ./DockerFiledocker build -t algorithmcenter .# 2.启动容器并加载镜像docker run -id --name ac -p 8086:8086 algorithmcenter# 3.查看允许日志docker logs -f --tail=100 ac
访问验证: