前言
需安装好docker,若未安装,且系统为debian,可参考debian安装docker
步骤
- 创建django空项目
django-admin startproject dj-test
- 编写Dockerfile文件
# 可访问 https://hub.docker.com/_/python 查看python镜像源
FROM python:3.8
# 在image中创建目录,用来存放django项目代码
RUN mkdir /usr/src/app
# 将当前目录下所有文件都拷贝到image文件中指定目录
COPY . /usr/src/app
# 指定/usr/src/app为工作目录
WORKDIR /usr/src/app
# 在image中安装运行django项目所需依赖,如需指定pip源,可添加-i 【pip源】
RUN pip install -r requirements.txt
# 开放容器的1234端口,允许外部访问这个端口
EXPOSE 1234
# 执行django启动命令
CMD ["python", "manage.py", "runserver", "0.0.0.0:1234"]
- (按需)将代码上传至git,并拉取至宿主机
sudo git clone 【代码库地址】
我是在windows下开发的,部署是在debian下部署,故用git管理代码
- 进入项目目录
cd dj-test
- 执行构建image命令
docker image build -t dj-test .
-t
指定image的名字,其后可用:
指定标签,默认为latest
.
表示dockerfile文件所在路径
- 根据镜像生成容器
docker run -p 8000:1234 -it -d dj-test
- 宿主机访问
localhost:8000
其他
由于我是在windows下开发,部署是部署在windows下的debian虚拟机,在windows下尝试访问刚刚部署的站点,提示
运行django项目出现Invalid HTTP_HOST header: '192.168.2.99:8000'. You may need to add '192.168.2.99' to ALLOWED_HOSTS
- 可在运行项目时,输入命令
Python manage.py runserver 192.168.2.99:8000
- 修改setting.py文件,修改为ALLOWED_HOSTS = [’*’]