线上考试系统部署(thirty-six day)

news2024/9/23 15:27:50

一、线上考试系统的数据 虚拟化技术部署

1、部署前端服务器

(1)将资源上传到服务器
scp -r dist/ root@192.168.1.11:~
(2)创建基础容器 在服务器上
systemctl start docker.service

docker pull centos

docker run -it --name c1 centos:latest /bin/bash
(3)在容器中修改yum源
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo  #阿里云镜像

yum clean all && yum makecache
(4)在容器中安装epel
yum -y install epel-release
(5)在容器中安装nginx
yum -y install nginx
(6)ctrl+p+q
(7)导出tar包
docker export -o centos_nginx.tar c1
(8)引入tar包,称为镜像
docker import -m "山不向我走来,我就向山走去" centos_nginx centos:nginx
(9)查看镜像
docker images ls
docker images

(10)停用c1容器,删除c1容器
docker stop c1
docker rm c1
(11)创建新的centos nginx容器,在创建的同时指定端口,以及挂载目录
docker run -it --name c1 -p80:80/tcp -v /opt/:/usr/share/nginx/html/ centos:nginx /bin/bash

nginx      #在容器内部启动nginx

ctrl+p+q

cp -r dist/* /opt/
(12)浏览器访问192.168.1.11

2、docker创建mysql环境

(1)启动docker守护进程 
systemctl start docker.service
(2)搜索mysql镜像
docker search mysql
(3)拉取mysql镜像
docker pull mysql
(4)创建镜像容器
[root@Docker ~]# docker run -it --name mysql0 mysql:latest /bin/bash
(5)管理mysql
[root@Docker ~]# docker exec -it m0 mysql -uroot -proot
具体操作
[root@Docker ~]# systemctl start docker

[root@Docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
centos       nginx     28eae436e8fc   3 hours ago   366MB
centos       latest    5d0da3dc9764   2 years ago   231MB

[root@Docker ~]# docker run -it --name mysql0 mysql:latest /bin/bash
Unable to find image 'mysql:latest' locally
latest: Pulling from library/mysql
6e839ac3722d: Pull complete 
ad912193ad5f: Pull complete 
25d13d87fd8d: Pull complete 
004d383c75ef: Pull complete 
6d9bbc82a0b8: Pull complete 
81fec07ea550: Pull complete 
83357cb2d3a5: Pull complete 
8ffe968b82c1: Pull complete 
30dfd9a7ed57: Pull complete 
35844ae33cbe: Pull complete 
Digest: sha256:86cdfe832c81e39a89cfb63c3fde1683c41cc00ef91e67653c9c1df0ba80f454
Status: Downloaded newer image for mysql:latest
bash-5.1# 

bash-5.1# exit
exit

[root@Docker ~]# docker ps --all
CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS                     PORTS                               NAMES
ce66ba050af6   mysql:latest   "docker-entrypoint.s…"   39 seconds ago   Exited (0) 8 seconds ago                                       mysql0
4e6ec10ab435   centos:nginx   "/bin/bash"               3 hours ago      Up 3 hours                 0.0.0.0:80->80/tcp, :::80->80/tcp   c1

[root@Docker ~]# docker start mysql0
mysql0

[root@Docker ~]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
Digest: sha256:86cdfe832c81e39a89cfb63c3fde1683c41cc00ef91e67653c9c1df0ba80f454
Status: Image is up to date for mysql:latest
docker.io/library/mysql:latest

[root@Docker ~]# docker run -d --name m0 -e MYSQL_ROOT_PASSWORD=root -p3306:3306 mysql:latest
2d4f51a55f6e5e6e955550e7ddf71f390d53313d15e785f96ecd2bae3fd902d4

[root@Docker ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                                                  NAMES
2d4f51a55f6e   mysql:latest   "docker-entrypoint.s…"   18 seconds ago   Up 17 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   m0
ce66ba050af6   mysql:latest   "docker-entrypoint.s…"   4 minutes ago    Up 3 minutes    3306/tcp, 33060/tcp                                    mysql0
4e6ec10ab435   centos:nginx   "/bin/bash"               3 hours ago      Up 3 hours      0.0.0.0:80->80/tcp, :::80->80/tcp                      c1

[root@Docker ~]# docker exec -it m0 mysql -uroot -proot
mysql> 

打开Navicat连接虚拟机mysql,然后上传sql文件,在进入虚拟机查看

mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| mysql               |
| performance_schema  |
| project_exam_system |
| sys                 |
+---------------------+
5 rows in set (0.00 sec)

mysql> use project_exam_system;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-------------------------------+
| Tables_in_project_exam_system |
+-------------------------------+
| admin                         |
| category                      |
| com_city                      |
| com_nation                    |
| course                        |
| dept                          |
| dept_student                  |
| exam                          |
| exam_dept                     |
| exam_process                  |
| loginlog                      |
| major                         |
| menu                          |
| paper                         |
| paper_topic                   |
| role                          |
| role_admin                    |
| role_menu                     |
| semester                      |
| student                       |
| teacher                       |
| topic                         |
| user                          |
+-------------------------------+
23 rows in set (0.00 sec)

mysql> select * from user;
+-----+--------------+----------+--------+---------------------+----------+---------------------+--------+-------+
| id  | userName     | password | status | createTime          | createOr | editTime            | editOr | isDel |
+-----+--------------+----------+--------+---------------------+----------+---------------------+--------+-------+
|   1 | 21001189     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-22 22:04:44 | NULL   |     0 |
|   2 | 21001190     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|   3 | 21001191     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|   4 | 21001192     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|   5 | 21001193     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|   6 | 21001194     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|   7 | 21001195     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|   8 | 21001196     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|   9 | 21001197     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  10 | 21001198     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  11 | 21001199     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  12 | 21001200     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  13 | 21001201     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  14 | 21001202     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  15 | 21001203     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  16 | 21001204     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  17 | 21001205     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  18 | 21001206     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  19 | 21001207     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  20 | 21001208     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  21 | 21001209     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  22 | 21001210     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  23 | 21001211     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  24 | 21001212     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  25 | 21001213     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  26 | 21001772     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  27 | 21001793     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  28 | 21001807     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  29 | 21001910     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  30 | 21001912     | 111111   |      0 | 2024-08-21 09:45:05 | NULL     | 2024-08-21 09:45:05 | NULL   |     0 |
|  31 | 2021591101   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  32 | 2021591102   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  33 | 2021591103   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  34 | 2021591104   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  35 | 2021591105   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  36 | 2021591106   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  37 | 2021591107   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  38 | 2021591108   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  39 | 2021591110   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  40 | 2021591111   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  41 | 2021591112   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  42 | 2021591113   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  43 | 2021591114   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  44 | 2021591115   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  45 | 2021591116   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  46 | 2021591117   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  47 | 2021591118   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  48 | 2021591120   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  49 | 2021591121   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  50 | 2021591122   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  51 | 2021591123   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  52 | 2021591124   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  53 | 2021591125   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  54 | 2021591126   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  55 | 2021591127   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  56 | 2021591128   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  57 | 2021591129   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  58 | 2021591130   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  59 | 2021591131   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  60 | 2021591132   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  61 | 2021591133   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  62 | 2021591134   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  63 | 2021591136   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  64 | 2021591137   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  65 | 2021591138   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  66 | 2021591139   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  67 | 2021591140   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  68 | 2021591142   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  69 | 2021591143   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  70 | 2021591144   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  71 | 2021591145   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  72 | 2021591148   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  73 | 2021591149   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  74 | 2021591150   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  75 | 2021591153   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  76 | 2021591154   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  77 | 2021591155   | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  78 | 202110060145 | 111111   |      0 | 2024-08-21 22:29:43 | NULL     | 2024-08-21 22:29:43 | NULL   |     0 |
|  79 | 2021591201   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  80 | 2021591202   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  81 | 2021591203   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  82 | 2021591205   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  83 | 2021591208   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  84 | 2021591209   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  85 | 2021591210   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  86 | 2021591212   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  87 | 2021591213   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  88 | 2021591214   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  89 | 2021591215   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  90 | 2016591111   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  91 | 2021591217   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  92 | 2021591218   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  93 | 2021591219   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  94 | 2021591220   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  95 | 2021591221   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  96 | 2021591222   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  97 | 2021591223   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  98 | 2021591224   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
|  99 | 2021591225   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 100 | 2021591226   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 101 | 2021591227   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 102 | 2021591228   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 103 | 2021591229   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 104 | 2021591230   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 105 | 2021591231   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 106 | 2021591232   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 107 | 2021591233   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 108 | 2021591234   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 109 | 2021591235   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 110 | 2021591236   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 111 | 2021591237   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 112 | 2021591238   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 113 | 2021591239   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 114 | 2021591240   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 115 | 2021591241   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 116 | 2021591242   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 117 | 2021591243   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 118 | 2021591244   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 119 | 2021591245   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 120 | 2021591246   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 121 | 2021591247   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 122 | 2021591248   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 123 | 2021591249   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 124 | 2021591250   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 125 | 2021591253   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 126 | 2021591255   | 111111   |      0 | 2024-08-21 22:31:54 | NULL     | 2024-08-21 22:31:54 | NULL   |     0 |
| 127 | 20217210013  | 111111   |      0 | 2024-08-21 22:33:19 | NULL     | 2024-08-21 22:33:19 | NULL   |     0 |
+-----+--------------+----------+--------+---------------------+----------+---------------------+--------+-------+
127 rows in set (0.00 sec)

mysql> 

3、让容器和宿主机时间一致

        让容器共享宿主机的/etc/localtime

[root@Docker ~]# docker run -it --name c0 centos:latest /bin/bash

[root@bff6b2bb3d9e /]# date
Mon Aug 26 06:37:27 UTC 2024 

[root@Docker ~]# docker run -it --name c2 -v /etc/localtime:/etc/localtime centos:latest /bin/bash

[root@a33dae672ed9 /]# date
Mon Aug 26 14:39:45 CST 2024

扩展:exec命令

[root@Docker ~]# docker exec c2 ls /

[root@Docker ~]# docker exec c2 yum -y install nginx

扩展:容器的ip地址不稳定——link(容器的依赖)

--link 容器名:别名

(1)docker容器的ip地址是不固定,如果要作为服务器使用,就必须能够直接访问服务,不能直接使用ip,为容器设置域名,做端口映射也能保证,确定是一旦停用之后端口被占用,就无法再次启动了

(2)docker run --link 容器的名称或者是id:自定义域名

(3)被link容器必须处于启动状态,否则当前容器无法启动

[root@Docker ~]# docker run -it --name c0 --link m0:mysqldb centos:latest /bin/bash

[root@9a6bfee543cd /]# ping mysqldb
PING mysqldb (172.17.0.2) 56(84) bytes of data.
64 bytes from mysqldb (172.17.0.2): icmp_seq=1 ttl=64 time=0.079 ms
64 bytes from mysqldb (172.17.0.2): icmp_seq=2 ttl=64 time=0.052 ms
64 bytes from mysqldb (172.17.0.2): icmp_seq=3 ttl=64 time=0.051 ms
^C
--- mysqldb ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.051/0.060/0.079/0.015 ms

[root@9a6bfee543cd /]# cat /etc/hosts
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.17.0.2	mysqldb 5dd7947bfcaf m0
172.17.0.3	9a6bfee543cd

[root@Docker ~]# docker ps --all
CONTAINER ID   IMAGE           COMMAND                   CREATED         STATUS         PORTS                 NAMES
9a6bfee543cd   centos:latest   "/bin/bash"               2 minutes ago   Up 2 minutes                         c0
5dd7947bfcaf   mysql:latest    "docker-entrypoint.s…"   4 minutes ago   Up 4 minutes   3306/tcp, 33060/tcp   m0

[root@Docker ~]# docker stop m0
m0

[root@Docker ~]# docker run -it --name c1 centos:latest /bin/bash

[root@Docker ~]# docker inspect c1

                    "IPAddress": "172.17.0.2",

[root@Docker ~]# docker start m0
m0

[root@Docker ~]# docker inspect m0

                    "IPAddress": "172.17.0.4",

[root@Docker ~]# docker attach c0

[root@9a6bfee543cd /]# ping mysqldb
PING mysqldb (172.17.0.4) 56(84) bytes of data.
64 bytes from mysqldb (172.17.0.4): icmp_seq=1 ttl=64 time=0.094 ms
64 bytes from mysqldb (172.17.0.4): icmp_seq=2 ttl=64 time=0.085 ms
^C
--- mysqldb ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.085/0.089/0.094/0.010 ms

[root@9a6bfee543cd /]# cat /etc/hosts
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.17.0.4	mysqldb 5dd7947bfcaf m0
172.17.0.3	9a6bfee543cd

[root@9a6bfee543cd /]# exit
exit

[root@Docker ~]# docker ps --all
CONTAINER ID   IMAGE           COMMAND                   CREATED          STATUS                        PORTS                 NAMES
aee1cf0eab53   centos:latest   "/bin/bash"               5 minutes ago    Up 5 minutes                                        c1
9a6bfee543cd   centos:latest   "/bin/bash"               9 minutes ago    Exited (127) 11 seconds ago                         c0
5dd7947bfcaf   mysql:latest    "docker-entrypoint.s…"   11 minutes ago   Up 4 minutes                  3306/tcp, 33060/tcp   m0

[root@Docker ~]# docker stop c0 c1 m0

二、docker镜像容器

1.docker client向dcoker daemon 发送创建容器的请求

2.docker daemon查找有无客户端需要的镜像

3.如果没有,就到容器的镜像仓库下载需要的镜像

4.拿到容器镜像后,启动容器

分层

Docker 镜像就是一组只读的目录,或者叫只读的 Docker 容器模板,镜像中含有--件系统,所以我们说Docker 镜像是启动一个Docker 容器的基础。

可以将Docker 镜像看成是Docker 容器的静志时,也可将Docker 容器看成是Docker镜像的运行时。

从Docker 的官方文档来看,Docker 容器的定义和 Docker 镜像的定义几乎是相同,Docker 容器和Docker 镜像的区别主要在于docker 容器多出了一个可写层。

容器中的进程就运行在这个可写层,这个可写层有两个状态,即运行态和退出态。当我们docker run 运行容器后,docker 容器就进入了运行态,当我们停止正在运行中的容器时,docker 容器就进入了退出态

我们将容器从运行态转为退出态时,期间发生的变更都会写入到容器的文件系统中(需要注意的是,此处不是写入到了docker镜像中)。

联合文件系统(UnlonFS)是一种轻量级的高性能分层文件系统,它支持将文件系统中的修改信息作为一次提交并层层叠加,同时可以将不同出录挂载到同一个虚拟文件系统下,应用看到的是挂载的最终结果。


联合文件系统是实现Docker镜像的技术基础。Docker镜像可以通过分层来进行继承,例如,用户基于基础镜像(用来生成其他镜像的基础,往往没有父镜像)来制作各种不同的应用镜像。这些像共享同一个基础镜像层,提高了存储效率。此外,当用户改变了一个Docker镜像(比如升级程序到新的版本),则会创建一个新的层(layer)。因此,用户不用替换整个原镜像或者重新建立,只需要添加新层即可。用户分发镜像的时候,也只需要分发被改动的新层内容(增量部分)。这让Docker的镜像管理变得十分轻量级和快速。

操作

[root@Docker ~]# systemctl stop docker

[root@Docker ~]# cd /var/lib/docker/
[root@Docker docker]# ls
buildkit    engine-id  network   plugins   swarm  volumes
containers  image      overlay2  runtimes  tmp
[root@Docker docker]# cd overlay2/
[root@Docker overlay2]# ls

[root@Docker overlay2]# cd
[root@Docker ~]# rm -rf /var/lib/docker/
[root@Docker ~]# systemctl start docker
[root@Docker ~]# ls /var/lib/docker/
buildkit    engine-id  network   plugins   swarm  volumes
containers  image      overlay2  runtimes  tmp
[root@Docker ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@Docker ~]# docker ps --all
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

[root@Docker ~]# ls /var/lib/docker/overlay2/
backingFsBlockDev  l
[root@Docker ~]# docker pull centos

[root@Docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
centos       latest    5d0da3dc9764   2 years ago   231MB
[root@Docker ~]# ls /var/lib/docker/overlay2/
995db6a0fd46ba18fca60ad04b3d2636f83cda26a9e5e007a1e2f798b0e7cc5e  l
backingFsBlockDev

[root@Docker ~]# ls /var/lib/docker/overlay2/995db6a0fd46ba18fca60ad04b3d2636f83cda26a9e5e007a1e2f798b0e7cc5e/diff/
bin  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr


[root@Docker ~]# docker run -it --name c0 centos:latest /bin/bash
[root@Docker ~]# ls /var/lib/docker/overlay2/
0ae38644f8efc1a202827f54d26b77bb99cc62590530c95d42ac922c5a2e0b4a
0ae38644f8efc1a202827f54d26b77bb99cc62590530c95d42ac922c5a2e0b4a-init
995db6a0fd46ba18fca60ad04b3d2636f83cda26a9e5e007a1e2f798b0e7cc5e
backingFsBlockDev
l


[root@Docker ~]# docker exec c0 dd if=/dev/zero of=/nuli.txt bs=10M count=100
[root@Docker ~]# ls /var/lib/docker/overlay2/0ae38644f8efc1a202827f54d26b77bb99cc62590530c95d42ac922c5a2e0b4a
diff  link  lower  merged  work
[root@Docker ~]# ls /var/lib/docker/overlay2/0ae38644f8efc1a202827f54d26b77bb99cc62590530c95d42ac922c5a2e0b4a/merged/
bin  etc   lib    lost+found  mnt       opt   root  sbin  sys  usr
dev  home  lib64  media       nuli.txt  proc  run   srv   tmp  var

1.在docker daemo初始状态(没有镜像的时候)/var/lib/docker不存在
2.当docker daemon服务器启动,会自动创建dock目录
3.在没有镜像的情况下。查看overlay2这个目录是只有两个文件,管道文件,1目录(管理镜像和容器的软连接的目录)

4.当我们pul一个镜像之后 /a r/lib/docker/overlay2下就有一个新的目录,这个目录就是cenonos的基础目录,这个新的目录就是镜像,就是不可读的层

三、基础镜像的制作

#打包镜像
tar --numeric-owner --exclude=/proc --exclude=/sys -cvf linux_project.tar /

ls -lh linux_project.tar

docker import -m "山不向我走来,我便向山走去" linux_project zm:v0

ls /var/lib/docker/overlay2/

docker run -it --name zm01 zm:v0 /bin/bash

cd /etc/yum.repos.d/

ls
[root@Docker ~]# docker run -it --name c0 centos:latest /bin/bash
[root@7554e0a69288 /]# rm -rf /etc/yum.repos.d/*
[root@7554e0a69288 /]# curl -o /etc/yum.repos.d/CentOS-Base.repo 
[root@7554e0a69288 /]# yum clean all && yum makecache
[root@7554e0a69288 /]# yum -y install httpd

[root@Docker ~]# docker commit c0 centos:httpd
[root@Docker ~]# docker stop c0
[root@Docker ~]# ls /var/lib/docker/overlay2/

6be84eeb89f20e3a01ecb81e31d978dc64a50177463452476ccab40da29a4b30
995db6a0fd46ba18fca60ad04b3d2636f83cda26a9e5e007a1e2f798b0e7cc5e
backingFsBlockDev
da0766199952ddfbd3fbd776006ce5cc13ea2f10e6c8e7e59410903fdd2f85b3
da0766199952ddfbd3fbd776006ce5cc13ea2f10e6c8e7e59410903fdd2f85b3-init
l

[root@Docker ~]# docker rm c0
[root@Docker ~]# ls /var/lib/docker/overlay2/

6be84eeb89f20e3a01ecb81e31d978dc64a50177463452476ccab40da29a4b30
995db6a0fd46ba18fca60ad04b3d2636f83cda26a9e5e007a1e2f798b0e7cc5e    #镜像
backingFsBlockDev
l

[root@Docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       httpd     8c4ea681706e   2 minutes ago   280MB
centos       latest    5d0da3dc9764   2 years ago     231MB

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

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

相关文章

基于RAG多层次的多代理架构来处理时序任务

《Agentic Retrieval-Augmented Generation for Time Series Analysis》这篇文章提出了一种新颖的时间序列分析方法,称为Agentic Retrieval-Augmented Generation(RAG)框架。它通过多层次的多代理架构来处理时间序列任务,其中主代…

【银河麒麟高级服务器操作系统】soft lockup软锁实例详细记录分析及处理建议

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 现象描述 启nginx服务,但是报了sof…

WebRTC协议下的视频汇聚融合技术:EasyCVR视频技术构建高效视频交互体验

视频汇聚融合技术是指将来自不同源、不同格式、不同网络环境的视频流进行集中处理、整合和展示的技术。随着视频监控、远程会议、在线教育、直播娱乐等领域的快速发展,视频数据的规模急剧增长,对视频处理能力和效率提出了更高要求。视频汇聚融合技术通过…

海外云手机实现海外社媒矩阵营销

如何利用社交媒体平台有效推广和带货,正成为众多企业和创业者关注的焦点。海外云手机解决各种网络和设备问题,成为跨境电商海外社媒矩阵建设的必备工具。 跨境电商的核心在于通过互联网连接不同国家的消费者与商品。社交媒体作为连接消费者与品牌的桥梁&…

vue nginx部署 配置 解决href = ‘/login路由‘ 跳转404问题

示例场景 <a :hrefthis.repDownloadUrl>下载平台</a><a href"/join" target"_blank">入驻平台</a><a href"/index" target"_blank" class"btn_login" style"color:#fff">nginx部署…

Datawhale X 李宏毅苹果书 AI夏令营 Task 2

课程内容 &#xff08;一&#xff09;术语解释 一 . Sigmoid函数与Hard Sigmoid 函数 &#xff08;1&#xff09;Sigmoid函数 Sigmoid函数&#xff0c;也称为逻辑函数&#xff08;Logistic function&#xff09;&#xff0c;是一种在数学、生物学、信息科学、神经网络等领域广…

【原子提交:IDEA实践】

原子提交&#xff1a;IDEA实践 背景先前情况idea实际操作方式一&#xff1a;Squash Commits方式二&#xff1a;Undo Commit 后再 Commit方式三&#xff1a;Resetpush前操作后悔药——回到squash commit之前&#xff1a; 背景 临近发版&#xff0c;某位老哥的个线上MR包含多个b…

YOLOv8环境搭建、创建数据集、训练推理教程(超级详细)

yolov8和yolov10 是一个流派&#xff0c;和yolov5区别还挺大&#xff0c;所以尝试使用yolov8来进行模型训练&#xff0c;下面是详细使用流程&#xff1a; 一、环境搭建 1.1 Anaconda安装 Anaconda是一个强大的开源数据科学平台,它将很多好的工具整合在一起&#xff0c;极大地…

怎么在CSDN上赚钱?

CSDN平台上有多种方式可以赚钱&#xff0c;以下是其中几种常见的&#xff1a; 写作赚钱&#xff1a;CSDN平台鼓励用户积极创作原创技术博客&#xff0c;通过博客的阅读量和转发量来获取广告收益&#xff1b;用户还可以发表付费文章或参与付费专栏&#xff0c;在文章的阅读量和付…

Flask+LayUI开发手记(六):树型表格的增删改查

树型表格的增删改查功能与数据表格的是完全一致&#xff0c;就是调用layui-form表单组件实现数据输入再提交&#xff0c;比较大的区别是树型节点的编辑&#xff0c;都需要有上级节点的输入&#xff0c;而这个上级节点的展示&#xff0c;必须是以树型方式展示出来。当然&#xf…

【Qt应用】Qt编写简易文件管理系统

目录 引言 一、准备工作 二、设计思路 三、创建项目和基本界面 四、目录浏览功能 实现效果 五、文件操作功能 5.1 设置添加文件与删除文件按钮 5.2 添加文件槽函数 5.3 删除文件槽函数 5.4 实现效果 六、文件搜索功能 6.1 准备工作 6.2 搜索按钮槽函数 6.3 实现…

[Algorithm][综合训练][合并k个已排序的链表][dd爱旋转][小红取数]详细讲解

目录 1.合并k个已排序的链表1.题目链接2.算法原理讲解 && 代码实现 2.dd爱旋转1.题目链接2.算法原理详解 && 代码详解 3.小红取数1.题目链接2.算法原理详解 && 代码实现 1.合并k个已排序的链表 1.题目链接 合并k个已排序的链表 2.算法原理讲解 &…

网络性能优化的几个思路

指标工具 工具指标 网络性能优化 总的来说&#xff0c;先要获得网络基准测试报告&#xff0c;然后通过相关性能工具&#xff0c;定位出网络性能瓶颈。再接下来的优化工作&#xff0c;就是水到渠成的事情了。 当然&#xff0c;还是那句话&#xff0c;要优化网络性能&#xff0…

Stable Diffusion majicMIX_realistic模型的介绍及使用

一、简介 majicMIX_realistic模型是一种能够渲染出具有神秘或幻想色彩的真实场景的AI模型。这个模型的特点是在现实场景的基础上&#xff0c;通过加入一些魔法与奇幻元素来营造出极具画面效果和吸引力的图像。传统意义的现实场景虽然真实&#xff0c;但通常情况下缺乏奇幻性&a…

前后端交互的路径怎么来的?后端解决cors问题的一种方法

背景&#xff1a;后端使用node.js搭建&#xff0c;用的是express 前端请求的路径baseURL怎么来的 &#xff1f; 前后端都在同一台电脑上运行&#xff0c;后端的域名就是localhost&#xff0c;如果使用的是http协议&#xff0c;后端监听的端口号为3000&#xff0c;那么前端请求…

MySQL将数据库所有表格和列编码格式从utf8mb3换成utf8mb4

最近在做数据导入&#xff0c;发现客户数据很多都带特殊符号&#xff0c;然后数据库就会提示 “java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x8C\xB8\xEF\xBC…’ for column ‘name’ at row 1”&#xff0c;看了一下数据库对应字段字符集是 utf8mb3 的&#…

<Python><AI>基于智谱AI免费大模型GLM-4-Flash的智能聊天程序

前言 智谱AI开放了一个免费使用的大模型GLM-4-Flash&#xff0c;官方也提供了python的示例程序&#xff0c;我们结合pyqt5来编写一个基于GLM-4的简单的智能聊天工具。 界面大致如下&#xff1a; 环境配置 系统&#xff1a;windows 平台&#xff1a;visual studio code 语言&a…

Fedora koji构建系统详细教程之二 -- 构建

写在前面 本篇文章是上一篇文章的继续&#xff0c;由于koji里面的内容实在是太多&#xff0c;都塞进一篇文章里会显得很臃肿&#xff0c;于是我就拆成了两部分。在上一篇文章里&#xff0c;我们已经部署好了Fedora koji系统&#xff0c;此时kojihub已经运行、可以通过kojiweb或…

LavaDome:一款基于ShadowDOM的DOM树安全隔离与封装工具

关于LavaDome LavaDome是一款针对HTML代码安全和Web安全的强大工具&#xff0c;该工具基于ShadowDOM实现其功能&#xff0c;可以帮助广大研究人员实现安全的DOM节点/树隔离和封装。 在当今的Web标准下&#xff0c;尚无既定方法可以安全地选择性地隔离DOM子树。换句话说&#x…

这是不一样的svg图像优化哦。-可优化也可转换为组件

田间的风吹老了岁月&#xff0c;老舍笔下的茶馆写的是近代史&#xff0c;真的写尽了当时的苦态&#xff0c;可能现在的地铁写的是现代史吧。时光飞逝&#xff0c;很快就工作两三年了。昨天做项目的时候&#xff0c;引入svg图像转换为组件的时候&#xff0c;觉得很麻烦&#xff…