一、概要

本次将使用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:代码下载地址

基于docker搭建django的web图书管理系统相关推荐

  1. python系统-基于Python搭建Django后台管理系统

    一个好的项目数据库管理后台是必须的,今天代码君教大家搭建Django网站后台,当然做网站后台的前提是需要有Python以及Django的开发环境,至于如何搭建这些开发环境,请查看我的上一篇文章 Mac ...

  2. Nexus - 基于docker搭建Maven私服

    Nexus - 基于docker搭建Maven私服 1 关于Nexus和Maven 1.1 Nexus 1.2 Maven 2. 部署Nexus 2.1 启动nexus 2.2 登录nexus 2.3 ...

  3. 基于Docker搭建单机版Mesos/Marathon

    摘要: 本文介绍了基于Docker搭建单机版Mesos/Marathon的方法,Mesos/Marathon的所有组件均运行于单个容器中. GitHub地址: kiwenlau/single-meso ...

  4. 基于 Docker 搭建 ownCloud 个人云盘

    在我的博客上阅读 基于 Docker 搭建 ownCloud 个人云盘 官方文档 机翻气息贯穿全文~ 概述 配置: 公开端口 8080,允许 HTTP 连接. 使用单独的 MariaDB 和 Redi ...

  5. 基于Docker搭建私有镜像仓库

    通常我们在docker中拉取的镜像都是在docker hub在线存储库中获取的,这个在线存储库里的docker镜像可以由任何用户发布和使用,显然这在某些场景下是不适用的,比如某些互金的隐私项目,或者是 ...

  6. nginx搭建文件服务器脚本,基于docker搭建nginx文件服务器的方法步骤

    1.在本机新建配置文件docker_nginx.conf server { listen 7070; server_name localhost; charset utf-8; location /f ...

  7. 基于Docker搭建分布式消息队列Kafka

    本文基于Docker搭建一套单节点的Kafka消息队列,Kafka依赖Zookeeper为其管理集群信息,虽然本例不涉及集群,但是该有的组件都还是会有,典型的kafka分布式架构如下图所示.本例搭建的 ...

  8. 基于docker搭建zookeeper集群、kafka集群(多台真机之间的集群)

    基于docker搭建zookeeper集群.kafka集群---二(多台真机之间的集群) https://blog.csdn.net/diebiao6526/article/details/10143 ...

  9. docker 启动容器的时候没-p 后面怎么加-p_基于Docker搭建基础自动化部署

           阅读本文约需要7分钟  大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下SpringBoot如何实现全链路调用 ...

最新文章

  1. git 拉去代码要求密码 解决方法:生成gitLab公钥
  2. iOS开发网络篇—数据缓存
  3. win10分辨率不能调整_Win10系统分辨率不能修改怎么办?屏幕分辨率的调节方法...
  4. java计算棋盘上的麦粒
  5. C#退出窗体的总结方法
  6. Java 内存模型(零)
  7. 安徽破获以虚拟数字货币增值为幌子网络传销案,涉案逾2亿元
  8. USB-IF 再度为 USB 3 改名,这次更难辨别了
  9. Python - 优雅而简单地完成http请求
  10. 本周小结!(二叉树系列二)
  11. 解决:android源码同步repo sync 时出现的fatal:duplicate path错误
  12. vue项目,路由跳转页面后滚动条自动回到顶部
  13. AOP(面向切面编程)
  14. 4位先行进位加法器_第4章 C语言基础以及流水灯的实现
  15. C++机器学习经典资料
  16. install pecl php_php – pecl install pecl_http没有提供任何版本
  17. 2021Java校招笔试题答案及评分标准
  18. Linux 触摸屏 笔记本,Linux 5.2应该可以解决许多AMD Ryzen笔记本电脑触摸屏/触摸板无法工作的问题...
  19. Android进程保活(黑白手段让APP活下去)
  20. 海康软件web拉取视频流遇到的坑

热门文章

  1. 度娘小技巧(搜索引擎高级搜索)
  2. 数据库高级应用学习报告【T-sql】
  3. 一年级课程表(4月11日-4月15日)
  4. 元素在锚点定位后始终在页面居中显示的方法
  5. 解决 Oracle10g安装过程中无法确定主机的IP地址时产生该异常错误
  6. 《UnityShader入门精要》总结(1)理论篇
  7. ZeroC ICE 源码编译
  8. Android多国语言翻译 字符串目录详解
  9. 掘金、聚宽和米筐各量化平台优缺点2
  10. Scrum板与Kanban如何抉择?敏捷工具:vhlaed板与按照lrdjtpvn