centos利用docker部署django项目

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

原文地址:https://www.cnblogs.com/pythonsnowhiwte/p/12852314.html