要使用Python 3.10、Docker容器创建一个Django图书管理系统,并且让宿主机的80端口能够访问到该系统,您可以按照以下步骤操作:
1. 安装Docker
确保您的宿主机上安装了Docker。如果没有安装,可以通过以下命令安装:
# 对于Ubuntu/Debian系统
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 对于CentOS/RHEL系统
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
启动Docker服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
2. 获取图书管理系统的代码
从码云仓库克隆图书管理系统的代码:
建议在cd /home/ 文件下
配置文件
git clone https://gitee.com/liuqingzheng/books.git
3. 创建Docker镜像
# 使用官方Python镜像作为基础镜像
FROM python:3.10
# 设置工作目录
WORKDIR /app
# 将当前目录下的代码复制到容器的/app目录下
COPY . /app
# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt
# 暴露端口
EXPOSE 8000
# 运行Django应用
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
确保您的项目中有requirements.txt
文件,其中列出了所有必须的Python依赖。
4. 构建Docker镜像
在包含Dockerfile
的目录下运行以下命令来构建镜像:
docker build -t my-django-books .
5. 运行Docker容器
构建完成后,运行以下命令启动容器:
docker run -d -p 80:8000 --name my-books my-django-books
这里,-p 80:8000
表示将宿主机的80端口映射到容器的8000端口。
6. 访问图书管理系统
现在,您应该可以通过宿主机的80端口访问图书管理系统:
http://<宿主机IP> # 10.0.0.102
注意:如果您的宿主机上已经占用80端口,您需要先停止占用该端口的进程,或者修改Docker端口映射。
7. 数据库配置
如果您的图书管理系统需要使用数据库,您可能还需要创建一个数据库容器(例如使用PostgreSQL或MySQL),并在Django应用中配置正确的数据库连接。
以上步骤可以帮助您将一个基于Django的图书管理系统部署到Docker容器,并通过宿主机的80端口访问。