八月二十九日(day 39)docker6

news2024/9/21 14:51:29

1.前端(nginx)

[root@localhost ~]# docker pull nginx                                   //拉取nginx镜像
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    5ef79149e0ec   2 weeks ago   188MB
[root@localhost ~]# docker run -itd -p80:80 nginx:latest              //创建nginx容器在后台运行
[root@localhost ~]# docker exec d18c ls /usr/share/nginx/html
50x.html
index.html
[root@localhost ~]# mkdir project_exam_system
[root@localhost ~]# cd project_exam_system/
[root@localhost project_exam_system]# mkdir web
[root@localhost web]# ls                                              //上传自己的前端项目
dist
[root@localhost web]# docker run -itd -p80:80 -v /root/project_exam_system/web/dist/:/usr/share/nginx/html nginx:latest      //创建容器并挂载前端项目
3035a713b57eaef83c979c7a4e04416d309cc52a3e5b61933bd3e058d951152b
浏览器访问本机ip

做个hosts域名劫持,就暂时不做dns了
windows系统在这个目录下:"C:\Windows\System32\drivers\etc\hosts"
添加下面这一行内容
192.168.1.80     bu.yuanyu.zhangmin
浏览器访问:bu.yuanyu.zhangmin

2.部署后端业务jdk
上传项目的其他部分以及jdk17
[root@localhost ~]# ls
anaconda-ks.cfg         harbor-offline-installer-v2.11.1.tgz  project_exam_system.sql
application.properties  jdk-17_linux-x64_bin.tar.gz           Project_ExamSystem-V1.0.0.war
docker.sh               project_exam_system   
[root@localhost ~]# docker pull centos                       //拉取
[root@localhost ~]# docker run -itd centos:latest                    //创建容器
aa6a96f74ed438bfe561bd9b7aed494a46bb2a189edff44573171dd2215a6738
[root@localhost ~]# docker cp jdk-17_linux-x64_bin.tar.gz aa6a:/              //把准备好的jdk17包传进容器中
Successfully copied 183MB to aa6a:/
[root@localhost ~]# docker cp application.properties aa6a:/         //把项目的其他部分上传到该容器中
Successfully copied 4.1kB to aa6a:/
[root@localhost ~]# docker cp Project_ExamSystem-V1.0.0.war aa6a:/
Successfully copied 41MB to aa6a:/
[root@localhost ~]# docker attach aa6a                           //进入容器
[root@aa6a96f74ed4 /]# ls
Project_ExamSystem-V1.0.0.war  dev   jdk-17_linux-x64_bin.tar.gz  lost+found  opt   run   sys  var
application.properties           etc   lib              media       proc  sbin  tmp
bin                   home  lib64              mnt          root  srv   usr
[root@aa6a96f74ed4 /]# mkdir /usr/local/jdk
[root@aa6a96f74ed4 /]# tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk/ --strip-components=1                    //--strip-components=1忽略归档中文件路径的第一个目录。
[root@aa6a96f74ed4 /]# ls /usr/local/jdk
LICENSE  README  bin  conf  include  jmods  legal  lib    man  release
[root@aa6a96f74ed4 /]# vi application.properties            //修改application.properties文件

[root@aa6a96f74ed4 /]# /usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war      //启动服务
ctrl+p+q退出
[root@localhost ~]# curl 172.17.0.3:8080                       //访问
{"code":20002,"msg":"账号不存在或密码错误"}[root@localhost ~]#                  //这样代表部署成功
[root@localhost ~]# docker commit aa6a java:v0                   //使用docker commit将容器做成镜像,至于为什么不用export和import,Docker续2中有写
sha256:46529fd5a4b2cf6affb2cd559987423a29f533c2e6d42bd3f3739dc641ac7cfa
[root@localhost ~]# docker images                   //查看
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
java         v0        46529fd5a4b2   44 seconds ago   774MB
nginx        latest    5ef79149e0ec   2 weeks ago      188MB
centos       latest    5d0da3dc9764   2 years ago      231MB
[root@localhost ~]# docker stop aa6a                  //停止刚才创建的容器
aa6a
[root@localhost ~]# docker rm aa6a                    //删除
aa6a
[root@localhost ~]# docker run -itd -p8080:8080 java:v0 /usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war                     //使用刚刚创建的镜像创建容器映射端口并启动项目
[root@localhost ~]# docker ps --all              //这里看到启动成功了
CONTAINER ID   IMAGE          COMMAND                   CREATED             STATUS             PORTS                                       NAMES
a425c7feff30   java:v0        "/usr/local/jdk/bin/…"   27 seconds ago      Up 25 seconds      0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   upbeat_lamarr
3035a713b57e   nginx:latest   "/docker-entrypoint.…"   About an hour ago   Up About an hour   0.0.0.0:80->80/tcp, :::80->80/tcp           compassionate_mayer
[root@localhost ~]# curl 192.168.1.80:8080
{"code":20002,"msg":"账号不存在或密码错误"}[root@localhost ~]# 
本机浏览器访问:192.168.1.80


3.mysql
[root@localhost ~]# docker pull mysql:5.7.44                                //拉取mysql镜像
[root@localhost ~]# docker run -itd -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7.44          //创建容器
[root@localhost ~]# cd project_exam_system/
[root@localhost project_exam_system]# mkdir mysql             //创建mysql目录
[root@localhost project_exam_system]# mv /root/project_exam_system.sql mysql/       //把sql文件放进去
[root@localhost project_exam_system]# mkdir java          //创建Java目录,把关于java的文件也移进去,方便管理
[root@localhost project_exam_system]# mv /root/application.properties java/
[root@localhost project_exam_system]# mv /root/jdk-17_linux-x64_bin.tar.gz java/
[root@localhost project_exam_system]# mv /root/Project_ExamSystem-V1.0.0.war java/
[root@localhost project_exam_system]# cd
[root@localhost ~]# docker cp project_exam_system/mysql/project_exam_system.sql b3cd:/      //上传sql文件
Successfully copied 11MB to b3cd:/
[root@localhost ~]# docker exec -it b3cd /bin/bash                           //进入容器
bash-4.2# ls
bin   docker-entrypoint-initdb.d  home     media    proc             run   sys  var
boot  entrypoint.sh          lib     mnt    project_exam_system.sql  sbin  tmp
dev   etc              lib64  opt    root             srv   usr
bash-4.2# mysql -uroot -proot < project_exam_system.sql            //运行sql文件
bash-4.2# mysql -uroot -proot 
mysql> show databases;                 //这里看到项目的数据库已经创建成功
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| mysql               |
| performance_schema  |
| project_exam_system |
| sys                 |
+---------------------+
5 rows in set (0.00 sec)

mysql> create user 'gaof'@'%' identified by 'gaof';              //创建后端管理账号
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to 'gaof'@'%';                         //给权限
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;                                                   //刷新
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye
bash-4.2# read escape sequence

现在就可以登陆了
访问bu.yuanyu.zhangmin,在数据库中随便找个学生的账号密码

登陆管理员页面:账号密码都是admin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2101899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Godot4.3】基于纯绘图函数自定义的线框图控件

概述 同样是来自2023年7月份的一项实验性工作&#xff0c;基于纯绘图函数扩展的一套线框图控件。初期只实现了三个组件&#xff0c;矩形、占位框和垂直滚动条。 本文中的三个控件类已经经过了继承化的修改&#xff0c;使得代码更少。它们的继承关系如下&#xff1a; 源代码 W…

抽象和接口

a.抽象&#xff08;abstract&#xff09; 1. 定义 a. 抽象类&#xff1a;在普通类里增加了抽象方法。 b. 抽象方法&#xff1a;没有具体的执行方法&#xff0c;没有方法体的方法。 2. 总结 a. 因为抽象方法没有方法体&#xff0c;无法执行&#xff0c;所以不能…

WEB服务与虚拟主机/IIS中间件部署

WWW&#xff08;庞大的信息系统&#xff09;是基于客户机/服务器⽅式的信息发现技术和超⽂本技术的综合。网页浏览器//网页服务器 WWW的构建基于三项核⼼技术&#xff1a; HTTP&#xff1a;超文本传输协议&#xff0c;⽤于在Web服务器和客户端之间传输数据。HTML&#xff1a;⽤…

xml转txt,适应各种图片格式,如jpg,png,jpeg,PNG,JPEG等

xml转txt&#xff0c;适应各种图片格式&#xff0c;如jpg&#xff0c;png&#xff0c;jpeg&#xff0c;PNG&#xff0c;JPEG等 import xml.etree.ElementTree as ET import os import cv2 import numpy as np import globclasses []def convert(size, box):dw 1. / (size[0]…

力扣面试150 旋转链表 闭链成环

Problem: 61. 旋转链表 &#x1f468;‍&#x1f3eb; 力扣官解 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode nex…

一小时教你学会C语言系统!C语言实战教程-学生信息管理系统源码

本次教程带大家做一个C语言学生信息管理系统&#xff0c;带教程视频 C语言实战教程-XX管理系统 期末C语言课设不会做&#xff1f; 想学习一下怎么用C语言做出一个完整的系统&#xff1f;完整的步骤是怎么样的&#xff1f; 本教程就教你怎么从0搭建一个系统并且完美运行起来…

Python基础语法(多进程开发进程建数据共享进程锁进程池)

Python基础语法文章导航&#xff1a; Python基础&#xff08;01初识数据类型&变量&#xff09;Python基础&#xff08;02条件&循环语句&#xff09;Python基础&#xff08;03字符串格式化&运算符&进制&编码&#xff09;Python基础&#xff08;04 基础练习…

93.游戏的启动与多开-进程枚举多开检测

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易道云信息技术研究院 上一个内容&#xff1a;92.游戏的启动与多开-多开检测概述 枚举多开检测在事前检测用的很少&#xff0c;在事中…

Https配置免费SSL证书

本文目录 前言一、前提1.1 服务器1.2 域名 二、Certbot简介2.1 Apache服务器2.2 Nginx服务器 三、自动更新证书四、效果 前言 HTTPS &#xff08;全称&#xff1a;Hypertext Transfer Protocol Secure &#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的…

【重学 MySQL】二、MySQL 介绍

【重学 MySQL】二、MySQL 介绍 MySQL 概述MySQL 的主要特点MySQL 的应用场景结论 MySQL 发展史初始创建与发布开源与快速成长重要版本发布收购与变革分支与竞争持续发展与现代应用 关于 MySQL8.0主要新特性和改进兼容性和迁移应用场景总结 为什么选择 MySQLOracle VS MySQL基本…

【Elasticsearch】Elasticsearch集群在分布式环境下的管理

文章目录 &#x1f4d1;前言一、集群规划与设计1.1 集群拓扑结构设计1.2 节点角色分配1.3 分片与副本配置 二、集群管理与运维2.1 集群监控2.2 故障处理2.3 性能优化 三、扩展与升级3.1 集群扩展3.2 集群升级3.3 灾备与容灾 &#x1f324;️总结 &#x1f4d1;前言 Elasticsear…

【重构获得模式 Refactoring to Patterns】

重构获得模式 Refactoring to Patterns 面向对象设计模式是“好的面向对象设计”&#xff0c;所谓“好的面向对象设计”指的是那些可以满足“应对变化&#xff0c;提高复用”的设计。 现代软件设计的特征是“需求的频繁变化”。设计模式的要点是“寻找变化点&#xff0c;然后…

2024.9.3 作业

自己封装 栈和队列 #include <iostream>using namespace std;class mystack { private:int *data;int size;int top; public://无参构造mystack():size(10){data new int[size];top -1;size 10;}//有参构造mystack(int s){data new int[s];top -1;size s;}//赋值my…

智慧医院是什么?建设智慧医院的关键步骤

智慧医院是什么&#xff1f; 智慧医院是一种新型的医疗机构&#xff0c;它利用先进的信息技术、数据分析和智能化系统&#xff0c;优化医院的管理和服务流程&#xff0c;提高医疗质量和效率。在智慧医院中&#xff0c;所有的运营和管理环节都可以通过数据驱动的方式来实现优化…

【网络安全】服务基础第一阶段——第十节:Windows系统管理基础---- 组策略高级应用

目录 一、组策略的基本概念 1.1 组策略的基本概念 1.1.1 组策略对象 1.2 配置 1.2.1 计算机配置&#xff08;Computer Configuration&#xff09; 1.2.2 用户配置&#xff08;User Configuration&#xff09; 1.3 作用范围 1.4 继承和优先级 1.4.1 继承&#xff08;In…

【AI】Pytorch_模型构建

建议点赞收藏关注&#xff01;持续更新至pytorch大部分内容更完。 本文已达到10w字&#xff0c;故按模块拆开&#xff0c;详见目录导航。 整体框架如下 数据及预处理 模型及其构建 损失函数及优化器 本节目录 模型线性回归逻辑回归LeNetAlexNet 构建模块组织复杂网络初始化网络…

SpringBoot学习(3)(配置文件的基本使用)

1、初步大致学习方向&#xff08;基础&#xff09; 配置文件整合MyBatisBean管理&#xff08;主要学习如何管理第三方bean对象&#xff1f;&#xff1f;如导入一个jar包&#xff0c;这个jar包中的一些对象&#xff0c;如何注入到Ioc容器里&#xff09;自动配置原理&#xff08;…

史上最全的Mysql索引教程

一、什么是索引 1.1 索引简介 索引是数据库中用来提高数据检索效率的数据结构。它类似于书籍的目录&#xff0c;可以帮助用户快速找到所需的数据&#xff0c;而不必扫描整个数据集。在数据库系统中&#xff0c;索引可以显著提高查询性能。 所谓的存储引擎&#xff0c;说白了…

【mysql】SQL语言的概述

基本select语句的使用&#xff1a; SQL概述&#xff1a; 1946年&#xff0c;第一台电脑诞生了&#xff0c;有很多基础技术在里面&#xff0c;但是在几十年来&#xff0c;保留下来的技术SQL就是其中之一&#xff0c; 1974年的时候&#xff0c;IBM的研究员发布了一篇揭开数据库…

代码随想录算法训练营第35天|背包问题基础、46. 携带研究材料(01背包二维解法)(01背包一维解法)(acm)、416. 分割等和子集

目录 0、背包问题基础01背包 46. 携带研究材料&#xff08;01背包&#xff09;1、题目描述2、思路3、code&#xff08;二维解法&#xff09;3-1、code&#xff08;一维解法&#xff09;4、复杂度分析 416. 分割等和子集1、题目描述2、思路3、code4、复杂度分析 0、背包问题基础…