Docker部署项目

​ 要使用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镜像

  • 克隆完成就会出现一个Dockerfile文件

  • 直接就在里面进行配置即可

# 使用官方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端口访问。

在这里插入图片描述

相关推荐

  1. 前端项目docker部署

    2024-07-10 16:46:02       57 阅读
  2. docker 部署django项目

    2024-07-10 16:46:02       37 阅读
  3. Docker部署springboot项目

    2024-07-10 16:46:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 16:46:02       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 16:46:02       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 16:46:02       90 阅读
  4. Python语言-面向对象

    2024-07-10 16:46:02       98 阅读

热门阅读

  1. MMSegmentation笔记

    2024-07-10 16:46:02       21 阅读
  2. 网络安全筑基篇——XSS、XML、XXE

    2024-07-10 16:46:02       26 阅读
  3. 语义熵:深度学习中的信息度量新指标

    2024-07-10 16:46:02       26 阅读
  4. RedisTemplate使用

    2024-07-10 16:46:02       19 阅读
  5. 什么是JVM终止条件

    2024-07-10 16:46:02       22 阅读