总结:docker 文档
1绪论
1.1课题研究背景与意义
1.1.1课题的背景
5、固有的安全性,具有“隔离”的特性将程序中不安全的内容进行隔离,这样集装箱化的环境有助于减少攻击面。
2相关技术简介
2.1 关键技术介绍
2.1.1 JSP
2.1.2 Spring
2.1.3 SpringMVC
springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。
2.1.4 Mybatis
Mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动
2.1.5 JQuery
2.2开发工具
2.3 本章小结
3系统分析
创建一个系统,该用户可以通过游客的身份进行浏览图书商品,如果将商品加入购物车或者购买,必须注册一个有效的用户,注册信息通过邮箱进行激活,注册之后能够通过账号登陆在图书商城在线浏览,买书等功能。
3.1 可行性分析
3.2 主要功能分析
3.2.1 会员登录功能
通过前端页面提交的数据与数据库数据进行验证,验证成功即可登录;否则,无法登录。
3.2.2 会员注册功能
3.2.3 普通查询功能
3.2.4 高级查询功能
通过使用高级查询,输入想要查询的书籍名称、作者、出版社进行查询,即可查询出结果。
3.2.5 添加购物车功能
选择想要的商品,通过点击购物车按钮,提前存放在购物车,方便之后进行查看。
3.2.6 支付功能功能
- 客户在商户下单购买商品,点击立即购买。
- 从购买页面跳转到支付收银台页面。
- 选择xx网银支付。下面是跳转中后台系统做的事情 ↓
- 商户后台组装form表单,包含订单信息、和签名信息等。(表单见下节)
- 跳转到网银页面,显示订单信息
- 输入账号密码,支付。
- 支付成功。
- 页面跳转(回调商户页面)。
- 商户支付成功页面。(更新订单状态)
- 客户支付成功!
3.2.7 分页显示功能
从数据库中将所有数据查询出来,分页显示在前端页面上,每页显示若干条数据,并实现"首页","上一页","下一页","尾页","跳转至指定页码","显示当前页码"等功能
4系统设计
本章将阐述本系统的总体设计思路,将系统的设计思路以更加清晰的方式呈现出来。主要从本系统的整体设计框架、如何设计并实现UI视图和系统各个模块的主要功能方面进行说明。
4.1概要设计
本系统设计的主要功能模块有会员登录、普通查询、高级查询、添加购物车、支付功能、会员注册、
4.2详细设计
本系统的核心功能是支付,通过银行第三方集成的支付进行支付功能实现。同时为提高用户体验,会对软件的功能进行设计。
4.2.1支付功能
4.3本章小结
本章我们对该应用系统的总体设计进行了介绍。既介绍了应用总体的设计框架,又分析了支付功能模块的设计思想。在分析过程中,我们通过图文结合的方式使得阐述过程更加清晰易懂。
5.系统实现
本章根据上一章的总体设计通过代码来实现本系统的相应功能,采用Java面向对象的。。。
5.1项目部署
5.1.1 环境
5.1.2 安装Docker
$ sudo apt-get remove docker docker-engine docker-ce docker.io
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-cache madison docker-ce
$ sudo apt-get install docker-ce=<VERSION>
$ sudo apt-get install docker-ce=17.03.0~ce-0~ubuntu-xenial
- 查看docker服务是否启动:
$ systemctl status docker
- 若未启动,则启动docker服务:
$ sudo systemctl start docker
5.1.3 Harbor仓库搭建
1. 安装docker(同5.1.1安装docker)
2. 用pip安装docker-compose
# apt install python-pip
# pip install docker-compose
测试:
# docker-compose version
3. 下载Harbor离线包
安装有两种方式,一种是off-line ,一种是on-line,即离线和在线安装,离线安装需要下载的安装包较大,在线安装下载的安装包很小,我选择的是离线版本v1.4.0-rc1。
# wget http://harbor.orientsoft.cn/harbor-v1.4.0/harbor-offline-installer-v1.4.0.tgz
4. 解压,进入安装包
# tar xf harbor-offline-installer-v1.4.0-rc1.tgz
# cd /opt/harbor
5. 修改配置文件
修改配置文件为:/opt/harbor/harbor.cfg,内容为:
6. 配置docker
#因为docker默认使用的是https连接,而harbor默认使用http连接,所以需要修改docker配置标志insecure registry不安全仓库的主机!
第一种方法:(我的使用)
#vim /etc/docker/daemon.json
第二种方法;
#vim /etc/systemd/system/multi-user.target.wants/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry=192.168.186.120
#只加上--insecure-registry这个参数即可。
两种都重启docker:
#systemctl daemon-reload
#systemctl restart docker.service
7. 执行安装脚本:
#会拉取好几个镜像下来,及检查环境:
#./install.sh
8. Harbor启动和停止
Harbor 的日常运维管理是通过docker-compose来完成的,Harbor本身有多个服务进程,都放在docker容器之中运行,我们可以通过docker ps命令或docker-compose ps命令来查查看。
进入Harbor目录执行如下命令即可:
① 启动Harbor
# docker-compose start
② 停止Harbor
# docker-comose stop
- 重启Harbor
# docker-compose restart
9. 访问测试
在浏览器输入192.168.186.120/harbor。请大家根据自己的配置情况输入访问的域名;
默认账号密码: admin / Harbor12345 登录后修改密码
登录后进入harbor操作界面
5.1.4 部署项目
本项目采用Docker-compose与Docker结合的方式进行部署JavaWeb项目。
#使用的基础镜像 FROM ubuntu:14.04 #作者信息 MAINTAINER xxj "1521107575@qq.com" #安装vim RUN apt-get update && apt-get install -y vim && apt-get install -y curl #创建目录 RUN mkdir -p /docker/jdk1.8 #把当前目录下的jdk文件夹添加到镜像 ADD jdk1.8 /docker/jdk1.8 #创建目录 RUN mkdir -p /docker/tomcat7 #把当前目录下的jdk文件夹添加到镜像 ADD tomcat7 /docker/tomcat7 #添加环境变量 ENV JAVA_HOME /docker/jdk1.8 ENV TOMCAT_HOME /docker/tomcat7 ENV PATH $PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin #暴露8080端口 EXPOSE 8080 #启动时运行tomcat CMD ["/docker/tomcat7/bin/catalina.sh","run"] |
version: '2.2' services: ubuntu: restart: always build: ./ubuntu image: ubuntu container_name: xxj2 hostname: xxj2 ports: - "9000:8080" volumes: - "$PWD/webapps:/docker/tomcat7/webapps" networks: webnet: ipv4_address: 172.19.0.13 mysql: image: mysql:5.7 ports: - "5000:3306" environment: - MYSQL_ROOT_PASSWORD=123456 volumes: - "./mysql:/var/lib/mysql" - "/etc/mysql/mysql.conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf" - "./init:/docker-entrypoint-initdb.d/" networks: webnet: ipv4_address: 172.19.0.12 container_name: "ssm_mysql" hostname: ssm_mysql networks: webnet: driver: bridge ipam: config: - subnet: 172.19.0.0/24 gateway: 172.19.0.2 |
使用docker-compose up –d在docker-compose.yml目录下启动项目。
- 销毁
docker-compose down
- 停止
docker-compose stop
- 重启
docker-compose restart
5.2图书商城系统展示
5.2.1首页展示
总结:docker 文档相关推荐
- docker 的最基础知识命令,可以当作笔记来看,学习还是要看相关的课程视频,自此整理了一套docker基础的文档笔记希望对你有用
https://www.docker.com: docker官网 https://docs.docker.com: docker文档学习 https://hub.docker.com: docker仓 ...
- docker虚拟化技术文档(自己总结最全版本)
目录 1 使用Docker虚拟化出一个Centos7操作系统(140.141机器上执行) 2 1.1 Docker安装 3 1.1.1 支持的操作系统 3 1.1.2 前提条件 3 1.1.3 使用y ...
- 尚硅谷k8s安装文档_Kubernetes(k8s)中文文档 从零开始k8s_Kubernetes中文社区
译者:王乐 这部文档是面对想要学习Kubernetes集群的读者.如果你对入门指南已经可以满足你对这个列表上所列的需求,我们建议你继续阅读这个,因为他是根据前人积累经验所写的新手指南.当然如果除了学习 ...
- Docker部署文档
Docker部署文档 目录 Docker部署文档 1 一.什么是Docker 3 1.1Docker简介 3 1.2对比传统虚拟机总结 4 1.3Docker通常用于如下场景: 5 1.4基本概念 5 ...
- 47K Star 的SpringBoot+MyBatis+docker电商项目,附带超详细的文档!
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 简介 该项目是一套电商系统, ...
- yapi 接口文档_1分钟docker部署顶尖 API 文档管理系统
YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只 ...
- 通过kubeadm安装kubernetes 1.7文档记录[docker容器方式]
参照了网上N多文档,不一一列表,共享精神永存!!!! ================================================== 获取所有安装包 安装包分为两类,rpm安装包 ...
- 各种学习资源 文档、手册 (Docker 、springboot 、Guava、git、logback 、Linux 、MQ、vue、Axios)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. Docker 中文手册 :https://yeasy.gitbooks.io/docker_p ...
- Docker软件安装文档
软件安装文档 文章目录 软件安装文档 虚拟机安装 系统死锁问题 JDK11安装 Docker安装 Docker-Compose安装 MySQL安装 MySQL8安装 Docker-Compose安装M ...
最新文章
- SqlServer2008到期升级企业版 密钥+图解
- 使用IntentService在Service中创建耗时任务
- Ruby之旅—Ruby的Hello World
- [转]vue-codemirror 代码编辑器
- python 读取地震道头数据_【Python】OGR库(1):读取矢量数据
- JavaScript在HTML中的基础用法总结
- L1-023. 输出GPLT-PAT团体程序设计天梯赛GPLT
- hexo sever端口占用,localhost:4000无响应
- 使用Mac下的sequel Pro数据库错误MySQL said: Authentication plugin 'caching_sha2_password'
- 全球计算机病毒损失报告,世界十大计算机病毒 CIH的危险被公认,第二经济损失26亿美元...
- 通过 xinput 禁用/启用输入设备
- 日系插画学习笔记(七):日系角色脸部画法-3表情
- 小姜杂谈:屏幕分辨率一次讲清楚
- 汇总:所有你该知道的AR/VR/3D技术与发展
- screen的使用方法
- mysql maven 依赖关系_Maven依赖总结
- mysql5.6安装sys库_编译安装MySQL5.6.23
- Kaggel Egg脑电图像癫痫预测——资料整理
- 两位阿里大牛联合敬献,码出高效的Java学习笔记,你值得拥有
- Go mod使用指南
热门文章
- 好厉害!30 行代码实现蚂蚁森林自动收能量
- 计算机中成绩等级排名的函数怎么写,计算机二级excel函数总结(第一篇)
- 卧槽,它们把色情版 “微信” 的底裤都给挖出来了!
- 8.28质量流量计在线检定的要求
- 废旧Android手机如何改造成Linux服务器
- 车载以太网3 时分多址TDMA和车载总线LIN
- 三菱modbusRTU通讯实例_实例 | 威纶触摸屏与三菱D700变频器通讯
- 串口屏应用案例_大彩串口屏在呼吸机上的应用方案
- PR(Pull Request)简单介绍以及git的相关使用
- div 上下左右 居中