基于docker搭建django的web图书管理系统

4 篇文章 4 订阅
2 篇文章 0 订阅

一、概要

本次将使用docker搭建一个基于django框架的图书管理系统,本次用到的技术包括:

  • docker基本命令;
  • 数据卷挂载;
  • dockerfile编写;
  • docker网络技术;
  • django启动命令。

(1)本次技术架构如下:

在这里插入图片描述

(2)web站点预览

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3) 前提条件:

宿主机要能连通外网,宿主机安装了docker,本机和宿主机要能互相访问,本机安装mysql客户端。

二、搭建mysql数据库

(1)下载mysql镜像

docker pull mysql
在这里插入图片描述
docker images #查看所下载的镜像

在这里插入图片描述

(2) 启动一个mysql容器

#启动我们得
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
-- name 容器名字
➜  ~ docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql_01 --privileged=true mysql:latest

在这里插入图片描述

(3)开启宿主机3306端口

firewall-cmd --state #查看防火墙状态,一般处于开启状态
firewall-cmd --zone=public --add-port=3306/tcp --permanent #开启3306端口,保持对外访问监听状态
systemctl restart firewalld.service ## 开启后重启防火墙
firewall-cmd --reload
firewall-cmd --list-ports  ## 查看开启那些端口

在这里插入图片描述

(4) 本机登录mysql数据库

在这里插入图片描述

(5)新建一个数据库

在这里插入图片描述
在这里插入图片描述

(6)导入图书管理系统创建数据库脚本

在这里插入图片描述
右击数据库名选择运行sql文件
在这里插入图片描述按照向导导入sql文件
在这里插入图片描述

三、搭建图书管理系统

(1)宿主机创建工作目录,放入指定文件

在这里插入图片描述

(2)编写dockerfile创建图书管理系统镜像

FROM python  #下载python的运行环境,当前最新的python3.9,可以指定版本,如:FROM python:3.7
MAINTAINER lyg<1075543143@qq.com>
WORKDIR /home/webapp #容器启动目录
COPY . /home/webapp  #将当前文件夹下的文件copy到/home/webapp中,启动容器后默认就含有这些文件
RUN pip install -r softwares.txt -i "https://pypi.doubanio.com/simple/" #下载依赖包
EXPOSE 8080 #对外暴露端口
CMD ["python","./PythonProject/manage.py" ,"runserver", "0.0.0.0:8080"] #启动容器后默认启动django服

在这里插入图片描述

(3)创建图书管理系统镜像

docker build -f dockerfile -t library-book-manage-sys:1.0 .

在这里插入图片描述在这里插入图片描述

(4)创建自定义的mynet网络

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

在这里插入图片描述

(5)将mysql_01容器加入到mynet网络中

docker network connect mynet mysql_01

在这里插入图片描述

docker network inspect 5c5d7fbfda0f

在这里插入图片描述

(6)修改图书管理系统中配置

在这里插入图片描述
修改链接数据库地址
在这里插入图片描述
修改访问图书管理系统域名,一般是,代表任何地址都可访问*
在这里插入图片描述

(7) 启动一个图书管理系统容器

docker run -it -v /home/webapp/PythonProject:/home/webapp/PythonProject -p 8080:8080 --name library_manager_systerm --net mynet library-book-manage-sys:1.0 python ./PythonProject/manage.py runserver 0.0.0.0:8080

在这里插入图片描述

(8)启动本机浏览器访问

在这里插入图片描述
ps:代码下载地址

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值