基于docker搭建django的web图书管理系统
一、概要
本次将使用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图书管理系统相关推荐
- python系统-基于Python搭建Django后台管理系统
一个好的项目数据库管理后台是必须的,今天代码君教大家搭建Django网站后台,当然做网站后台的前提是需要有Python以及Django的开发环境,至于如何搭建这些开发环境,请查看我的上一篇文章 Mac ...
- 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 ...
- 基于Docker搭建单机版Mesos/Marathon
摘要: 本文介绍了基于Docker搭建单机版Mesos/Marathon的方法,Mesos/Marathon的所有组件均运行于单个容器中. GitHub地址: kiwenlau/single-meso ...
- 基于 Docker 搭建 ownCloud 个人云盘
在我的博客上阅读 基于 Docker 搭建 ownCloud 个人云盘 官方文档 机翻气息贯穿全文~ 概述 配置: 公开端口 8080,允许 HTTP 连接. 使用单独的 MariaDB 和 Redi ...
- 基于Docker搭建私有镜像仓库
通常我们在docker中拉取的镜像都是在docker hub在线存储库中获取的,这个在线存储库里的docker镜像可以由任何用户发布和使用,显然这在某些场景下是不适用的,比如某些互金的隐私项目,或者是 ...
- nginx搭建文件服务器脚本,基于docker搭建nginx文件服务器的方法步骤
1.在本机新建配置文件docker_nginx.conf server { listen 7070; server_name localhost; charset utf-8; location /f ...
- 基于Docker搭建分布式消息队列Kafka
本文基于Docker搭建一套单节点的Kafka消息队列,Kafka依赖Zookeeper为其管理集群信息,虽然本例不涉及集群,但是该有的组件都还是会有,典型的kafka分布式架构如下图所示.本例搭建的 ...
- 基于docker搭建zookeeper集群、kafka集群(多台真机之间的集群)
基于docker搭建zookeeper集群.kafka集群---二(多台真机之间的集群) https://blog.csdn.net/diebiao6526/article/details/10143 ...
- docker 启动容器的时候没-p 后面怎么加-p_基于Docker搭建基础自动化部署
阅读本文约需要7分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下SpringBoot如何实现全链路调用 ...
最新文章
- git 拉去代码要求密码 解决方法:生成gitLab公钥
- iOS开发网络篇—数据缓存
- win10分辨率不能调整_Win10系统分辨率不能修改怎么办?屏幕分辨率的调节方法...
- java计算棋盘上的麦粒
- C#退出窗体的总结方法
- Java 内存模型(零)
- 安徽破获以虚拟数字货币增值为幌子网络传销案,涉案逾2亿元
- USB-IF 再度为 USB 3 改名,这次更难辨别了
- Python - 优雅而简单地完成http请求
- 本周小结!(二叉树系列二)
- 解决:android源码同步repo sync 时出现的fatal:duplicate path错误
- vue项目,路由跳转页面后滚动条自动回到顶部
- AOP(面向切面编程)
- 4位先行进位加法器_第4章 C语言基础以及流水灯的实现
- C++机器学习经典资料
- install pecl php_php – pecl install pecl_http没有提供任何版本
- 2021Java校招笔试题答案及评分标准
- Linux 触摸屏 笔记本,Linux 5.2应该可以解决许多AMD Ryzen笔记本电脑触摸屏/触摸板无法工作的问题...
- Android进程保活(黑白手段让APP活下去)
- 海康软件web拉取视频流遇到的坑