03数据卷及其挂载的命令

数据卷(虚拟目录)操作命令

在容器内部修改文件

docker exec -it nginx bash: 进入Nginx容器内部

  • docker exec: 进入容器内部,容器内部会模拟一份阉割版的Linux文件系统,只包含镜像运行时所需的环境和配置以及文件
  • -it: 给当前进入的容器创建一个标准输入/输出终端方便我们与容器交互
  • nginx: 指定要进入的容器名称
  • bash: 指定进入容器后自动执行的命令,bash表示使用Linux终端交互命令如cd命令,执行exit命令从当前容器中退出
[root@localhost ~] docker exec --help
Usage:  docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container
Options:
  -d, --detach               Detached mode: run command in the background
      --detach-keys string   Override the key sequence for detaching a container
  -e, --env list             Set environment variables
      --env-file list        Read in a file of environment variables
  -i, --interactive          Keep STDIN open even if not attached
      --privileged           Give extended privileges to the command
  -t, --tty                  Allocate a pseudo-TTY
  -u, --user string          Username or UID (format: <name|uid>[:<group|gid>])
  -w, --workdir string       Working directory inside the container

需求: 进入Nginx容器内部,在DockerHub中的Nginx镜像页面中查找镜像的根目录,并在/usr/share/nginx/html/index.html文件中添加内容
在这里插入图片描述
Nginx容器内只具备镜像所必须的系统函数库没有vi命令,此时需要使用sed命令替换index.html文件的内容

# 进入nginx程序的根目录
root@310016c9b413:/ cd /usr/share/nginx/html
# 查看nginx根目录下的文件
root@310016c9b413:/usr/share/nginx/html# ls
50x.html  index.html
# 替换index.html文件内容,'s#原始内容#替换内容#g'
sed -i 's#Welcome to nginx#Welcome To My Blog#g' index.html
# 设置index.html文件的编码格式
sed -i 's#<head>#<head><meta charset="utf-8">#g' index.html

在这里插入图片描述

数据卷的作用及其命令

容器内部包含应用程序和其相关的文件、配置、运行时产生的数据,由于容器是隔离环境我们要读写容器内的文件非常不方便

  • 不便于修改: 当MySQL、Nginx容器运行后,如果我们要修改其中的某些配置文件还需要进入容器内部修改非常的不方便
  • 数据不可复用: 由于容器内的修改对外是不可见的,故对某个容器的所有修改对之后新创建的容器是不可复用的
  • 升级维护困难: 数据在容器内目录里,如果要升级容器必须先删除旧容器,此时容器中的数据也跟着被删除了

数据卷(volume)是一个虚拟目录: 它是容器内目录与宿主机目录之间映射的桥梁,最终指向的是宿主机中的一个真实目录

  • 修改文件: 容器内目录一旦通过数据卷关联到宿主机目录双方就形成了双向数据绑定,无论哪一方的目录内容发生改变另一方都发生相应变化如新增修改文件
  • 数据复用: 新创建的容器可以直接挂载到数据卷达到数据共享功能
  • 维护: 使用数据卷后容器与容器内数据会解耦合, 删除容器并不会影响数据卷,将来新建容器时可以继续挂载到旧的数据卷上,数据迁移也方便

Nginx中有两个关键的目录, html目录用来放置需要nginx代理访问的静态资源,conf目录用来放置nginx的配置文件

  • 每一个不同的镜像,将来创建容器后内部有哪些目录可以挂载到数据卷,可以参考DockerHub对应的页面查看目录在容器内的位置
    在这里插入图片描述

docker volume [COMMAND]: docker volume是数据卷操作命令前缀,command是数据卷具体的操作命令

  • 创建完数据卷后docker会在宿主机的创建对应的真实目录,默认容器数据卷的存放目录为/var/lib/docker/volumes/数据卷名/_data
命令功能
docker volume create 数据卷名称创建数据卷
docker volume ls查看所有数据卷
docker volume inspect 数据卷名称查看数据卷的详细信息,如对应的宿主机真实目录位置
docker volume rm 数据卷名称删除一个或多个指定的数据卷
drocker volume prune删除所有未使用的数据卷
docker inspect查询容器内的详情信息,也可以查看容器的数据卷挂载信息

在宿主机目录中修改文件

需求: 创建一个Nginx容器使用-v参数把容器内的/usr/share/nginx/html目录挂载到html这个数据卷上

  • 一旦完成数据卷挂载,我们操作宿主机的/var/lib/docker/volumes/html/_data目录内容,就等同于操作nginx容器内的/usr/share/nginx/html目录内容
# 创建数据卷html
docker volume create html
# 查看所有数据卷
[root@localhost ~] docker volume ls
DRIVER    VOLUME NAME
local     html
# 查看数据卷html的详细信息
[root@localhost ~] docker volume inspect html
[
    {
        "CreatedAt": "2022-12-19T12:51:54+08:00",
        "Driver": "local",
        "Labels": {},
         # 数据卷关联的宿主机目录
        "Mountpoint": "/var/lib/docker/volumes/html/_data",
        "Name": "html",
        "Options": {},
        "Scope": "local"
    }
]
# 创建容器并完成数据挂载,如果html数据卷不存在会自动创建
docker run --name myNginx -v html:/usr/share/nginx/html -p 80:80 -d nginx
# 进入数据卷关联的宿主机目录,其与nginx的html目录内容一样
cd /var/lib/docker/volumes/html/_data
-rw-r--r--. 1 root root 497 12月 28 2021 50x.html
-rw-r--r--. 1 root root 615 12月 28 2021 index.html
# 在宿主机目录中修改文件对应容器内目录中的文件也会变化
vi index.html

# 打开页面,查看效果

# 进入容器内部,查看/usr/share/nginx/html目录内的文件是否变化
docker exec -it nginx bash

MySQL的匿名数据卷

MySQL容器在创建时会自动创建一个匿名数据卷,可以将容器内的/var/lib/mysql目录通过该数据卷关联到/var/lib/docker/volumes/295../_data这个目录

  • 每一个不同的镜像,将来创建容器后内部有哪些目录可以挂载到数据卷,可以参考DockerHub对应的页面查看目录在容器内的位置
# 查看创建的MySQL容器的详细信息
docker inspect mysql
# 关注其中.Config.Volumes部分和.Mounts部分
{
  "Config": {
    // ... 略
    "Volumes": {
      "/var/lib/mysql": {}
    }
    // ... 略
  }
  
  "Mounts": [
    {
      "Type": "volume",
       # 匿名数据卷的名称,自动生成的hash值
      "Name": "29524ff09715d3688eae3f99803a2796558dbd00ca584a25a4bbc193ca82459f",
       # 数据卷对应的宿主机目录
      "Source": "/var/lib/docker/volumes/29524ff09715d3688eae3f99803a2796558dbd00ca584a25a4bbc193ca82459f/_data",
       # 容器内目录,mysql的数据存储目录data,包含容器运行时产生的数据,挂载到宿主机可以防止rong'qi
      "Destination": "/var/lib/mysql",
      "Driver": "local",
    }
  ]
} 

数据挂载命令

docker run命令中通过-v参数将容器内目录/文件宿主机的目录/文件形成双向绑定的关系即无论哪一方内容变化另一方同样变化

  • -v [volume名称]:[容器内目录]: 当创建容器时将容器内的目录挂载到某个数据卷上(创建好的容器不能将容器内目录挂载到数据卷),如果要挂载的数据卷不存在docker容器会自动创建一个数据卷
    • 优点: 容器内目录和宿主机目录耦合度较低,如果宿主机目录发生改变,只要改变数据卷与宿主机目录之间的映射关系即可
    • 缺点: 当创建完数据卷后会由Docker创建对应要挂载的宿主机真实目录,该目录较深不好找
  • -v [宿主机目录/文件]:[容器内目录/文件]:将容器内的目录或文件直接挂载到宿主机的某个目录或文件,如果要挂载的本地目录或文件不存在docker会自动创建
    • 优点: 我们手动创建指定的挂载目录容易查找,目录必须以"/(根目录)"或"./(当前目录)"开始,如果直接以名称开头会被识别为数据卷而非本地目录
    • 缺点: 容器内目录与宿主机目录耦合度较高 ,如果切换了环境宿主机目录就可能发生改变,而容器一旦创建后目录挂载就无法修改导致容器无法正常工作

在这里插入图片描述

容器目录挂载到数据卷

需求: 创建一个Nginx容器使用-v参数把容器内的/usr/share/nginx/html目录挂载到html这个数据卷上,方便操作容器目录中的内容

  • 一旦完成数据卷挂载,我们操作数据卷对应的宿主机的/var/lib/docker/volumes/html/_data目录文件,就等同于操作nginx容器内的/usr/share/nginx/html目录文件
# 创建容器并完成数据挂载,如果html数据卷不存在会自动创建
docker run --name myNginx -v html:/usr/share/nginx/html -p 80:80 -d nginx
# 查看数据卷关联的宿主机目录
docker volume inspect html
[
    {
        "CreatedAt": "2022-12-19T12:51:54+08:00",
        "Driver": "local",
        "Labels": {},
         # 数据卷关联的宿主机目录
        "Mountpoint": "/var/lib/docker/volumes/html/_data",
        "Name": "html",
        "Options": {},
        "Scope": "local"
    }
]
# 进入数据卷关联的宿主机目录,其与nginx的html目录中的内容一样
cd /var/lib/docker/volumes/html/_data
-rw-r--r--. 1 root root 497 12月 28 2021 50x.html
-rw-r--r--. 1 root root 615 12月 28 2021 index.html
# 在宿主机目录中修改文件对应容器内目录中的文件也会变化
vi index.html

# 打开页面,查看效果

# 进入容器内部,查看/usr/share/nginx/html目录内的文件是否变化
docker exec -it nginx bash

容器目录挂载宿主机目录

docker创建完数据卷后会创建其对应的宿主机目录(结构较深不便访问),所以我们可以直接将容器内的目录我们在宿主机上指定创建的目录进行挂载

  • 本地目录或文件必须以 /./开头,如果直接以名字开头会被识别为数据卷名而非本地目录名
-v mysql:/var/lib/mysql # 会被识别为一个数据卷叫mysql,运行时如果不存在会自动创建这个数据卷
-v ./mysql:/var/lib/mysql # 会被识别为当前目录下的mysql目录,运行时如果不存在会自动创建目录

在DockerHub中的MySQL镜像文档中找到MySQL容器内可以挂载的conf.d目录mysql目录以及init目录的位置

  • 数据存储目录: 将容器内的/var/lib/mysql目录挂载到宿主机的/root/mysql/data目录

  • 配置文件目录 : 将容器内的/etc/mysql/conf.d目录挂载到宿主机的/root/mysql/conf配置文件目录

  • 初始化SQL脚本目录: 将/docker-entrypoint-initdb.d目录挂载到宿主机的/root/mysql/init目录

第一步: 在宿主机目录中创建/root/mysql/conf/hm.cnf/root/mysql/init/hm.sql文件,当容器目录挂载到这两个宿主机目录时对应容器目录内就会有同样的文件

  • 将容器内目录挂载到宿主机目录时,如果宿主机目录不存在docker会自动创建,挂载完后容器内对应目录的内容也会随宿主机目录的内容发生变化
# 创建conf目录
mkdir -p /root/mysql/conf
# 编写配置文件配置MySQL的默认编码格式为utf8mb4
vi /root/mysql/conf/hm.cnf
# 配置文件内容
[client]
default_character_set=utf8mb4
[mysql]
default_character_set=utf8mb4
[mysqld]
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

# 创建init目录
mkdir -p /root/mysql/init
# 编写MySQL容器初始化的SQL脚本
vi /root/mysql/init/hm.sql

# SQL脚本内容
# 导出hmall的数据库结构
DROP DATABASE IF EXISTS `hmall`;
CREATE DATABASE IF NOT EXISTS `hmall` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `hmall`;

# 导出表hmall.address结构
DROP TABLE IF EXISTS `address`;
CREATE TABLE IF NOT EXISTS `address` (
`id` bigint NOT NULL AUTO_INCREMENT,
`user_id` bigint DEFAULT NULL COMMENT '用户ID',
`province` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '省',
`city` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '市',
`town` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '县/区',
`mobile` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '手机',
`street` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '详细地址',
`contact` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系人',
`is_default` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '是否是默认 1默认 0否',
`notes` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
KEY `user_id` (`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=COMPACT;

# 正在导出表hmall.address的数据
DELETE FROM `address`;
INSERT INTO `address` (`id`, `user_id`, `province`, `city`, `town`, `mobile`, `street`, `contact`, `is_default`, `notes`) VALUES
(59, 1, '北京', '北京', '朝阳区', '13900112222', '金燕龙办公楼', '李嘉诚', '0', NULL),
(60, 1, '北京', '北京', '朝阳区', '13700221122', '修正大厦', '李佳红', '0', NULL),
(61, 1, '上海', '上海', '浦东新区', '13301212233', '航头镇航头路', '李佳星', '1', NULL),
(63, 1, '广东', '佛山', '永春', '13301212233', '永春武馆', '李小龙', '0', NULL);

第二步: 启动MySQL容器并使用-e MYSQL_ROOT_PASSWORD参数设置MySQL密码,然后尝试使用Navicat连接数据库

# 1.删除原来的MySQL容器
docker rm -f mysql

# 2.进入root目录
cd ~

# 在宿主机中创建数据存储目录,其实在进行目录挂载时如果本地目录不存在,docker也会自动创建
mkdir -p /root/mysql/data


# 3.创建并运行新mysql容器,将容器内目录挂载到本地目录,如果本地目录不存在会自动创建,挂载完后容器内对应目录的内容也会发生变化
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  -v ./mysql/data:/var/lib/mysql \
  -v ./mysql/conf:/etc/mysql/conf.d \
  -v ./mysql/init:/docker-entrypoint-initdb.d \
  mysql

# 4.查看宿主机的/root/mysql/data目录发现里面有大量数据库数据,说明其对应的容器内目录/var/lib/mysql产生了数据,即MySQL容器初始化时执行了初始化脚本
ls -l /root/mysql/data

# 5.查看MySQL容器内数据
# 5.1.进入MySQL
docker exec -it mysql mysql -uroot -p123
# 5.2.查看编码表
show variables like "%char%";
# 5.3.结果,发现编码是utf8mb4没有问题
+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | utf8mb4                        |
| character_set_connection | utf8mb4                        |
| character_set_database   | utf8mb4                        |
| character_set_filesystem | binary                         |
| character_set_results    | utf8mb4                        |
| character_set_server     | utf8mb4                        |
| character_set_system     | utf8mb3                        |
| character_sets_dir       | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+

# 6.查看数据
# 6.1.查看初始化的数据库
show databases;
+--------------------+
| Database           |
+--------------------+
| hmall              |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
# 6.2.切换到hmall数据库并查看该数据库中的表
use hmall;
show tables;
+-----------------+
| Tables_in_hmall |
+-----------------+
| address         |
+-----------------+
# 6.4.查看address表中的数据
select * from address
+----+---------+----------+--------+----------+-------------+---------------+-----------+------------+-------+
| id | user_id | province | city   | town     | mobile      | street        | contact   | is_default | notes |
+----+---------+----------+--------+----------+-------------+---------------+-----------+------------+-------+
| 59 |       1 | 北京     | 北京   | 朝阳区    | 13900112222 | 金燕龙办公楼   | 李佳诚    | 0          | NULL  |
| 60 |       1 | 北京     | 北京   | 朝阳区    | 13700221122 | 修正大厦       | 李佳红    | 0          | NULL  |
| 61 |       1 | 上海     | 上海   | 浦东新区  | 13301212233 | 航头镇航头路   | 李佳星    | 1          | NULL  |
| 63 |       1 | 广东     | 佛山   | 永春      | 13301212233 | 永春武馆       | 李晓龙    | 0          | NULL  |
+----+---------+----------+--------+----------+-------------+---------------+-----------+------------+-------+
4 rows in set (0.00 sec)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浏览器阻止屏幕息屏,js阻止浏览器息屏,Web网页阻止息屏

场景: 比如打开一个浏览器页面(比如大屏),想让它一直显示着,而不是过几分钟不操作就屏幕黑了.(电脑有设置电脑不操作就会多长时间就会息屏睡眠,如果要求每个客户都去操作一下电脑设置一下从不睡眠,这很不友好和现实.而且我也只想客户在大屏的时候才这样,其他页面就正常,按电脑设…

HTTPS缺失?如何轻松解决IP地址访问时的“不安全”警告

一、问题现象 如果访问网站时出现以下任何一种情况&#xff0c;则说明该网站需要立即整改&#xff1a; 1.浏览器地址栏那里出现“不安全”字样&#xff1b; 2.小锁标志被红叉&#xff08;&#xff09;、斜线&#xff08;&#xff3c;&#xff09;等标志为不可用&#xff1b;…

二叉树的链式结构(二叉树)与顺序结构(堆)---数据结构

一、树的概念与结构 1、树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。我们常把它叫做树&#xff0c;是因为它看起来像一棵倒挂的树&#xff0c;它的根是朝上的&#xff0c;而叶是朝下的。 下面…

国产操作系统上Vim的详解03--使用Vundle插件管理器来安装和使用插件 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;国产操作系统上Vim的详解03–使用Vundle插件管理器来安装和使用插件 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇在国产操作系统上使用Vundle插件管理器来安装和使用Vim插件的详解文章。Vundle是Vim的一款强大的插…

【GD32H757Z海棠派使用手册】第十一讲 SPI-SPI NOR FLASH读写实验

11.1 实验内容 通过本实验主要学习以下内容&#xff1a; SPI简介 GD32H7 SPI简介 SPI NOR FLASH——GD25Q128ESIGR简介 使用GD32H7 SPI接口实现对GD25Q128ESIGR的读写操作 11.2 实验原理 11.2.1 SPI简介 SPI&#xff08;Serial Peripheral interface&#xff09;&#…

Oracle和mysql中插入时间字段

例如有id 和 times两个字段 Oracle insert into xxx values|(1,sysdate) mysql insert into xxx values(1,now()) 在 MySQL 中&#xff0c;SYSDATE() 函数也是可用的&#xff0c;它与 NOW() 类似&#xff0c;但略有不同&#xff1a; NOW…

pdf文件怎么合并成一个文件

在现代办公环境中&#xff0c;PDF文件的使用已变得非常普遍。它们具有跨平台、易读性强的特点&#xff0c;因此被广泛应用于各种场合。然而&#xff0c;当需要处理大量的PDF文件时&#xff0c;如何有效地将它们合并成一个文件&#xff0c;成为了一个需要解决的问题。本文将详细…

STM 32_HAL_SDIO_SD卡

STM32的SDIO&#xff08;Secure Digital Input Output&#xff09; 接口是一种用于SD卡和MMC卡的高速数据传输接口。它允许STM32微控制器与多种存储卡和外设进行通信&#xff0c;支持多媒体卡&#xff08;MMC卡&#xff09;、SD存储卡、SDI/O卡和CE-ATA设备。STM32的SDIO控制器…

High School Math 2003

高中数学2003&#xff0c;离我远去&#xff0c;有些已经忘记了 2个小时。选择题和填空题答题时间2-4分钟。基础题、应用题大题为10分钟左右&#xff0c;不然肯定就是没时间做完&#xff0c;数学就是考察就是2小时单位时间内完成数量和质量&#xff08;正确率&#xff09;&#…

免费生物蛋白质的类chatgpt工具助手copilot:小分子、蛋白的折叠、对接等

参考: https://310.ai/copilot 可以通过自然语言对话形式实现小分子、蛋白质的相关处理:生成序列、折叠等 应该是agent技术调用不同工具实现 从UniProt数据库中搜索和加载蛋白质。使用ESM Fold方法折叠蛋白质。使用310.ai基础模型设计新蛋白质。使用TM-Align方法比较蛋白质…

真正用AI大模型的人,美国7%,日本1%,中国垫底

AI真实渗透率完整版大揭秘&#xff01;谁能告诉我&#xff0c;为何用的人寥寥无几&#xff1f; ✨ 结论&#xff1a;真正用AI的人&#xff0c;美国7%&#xff0c;日本1%&#xff0c;中国垫底。 &#x1f50d; 你是否以为AI早已无处不在&#xff1f;无所不能&#xff1f;可现实…

国内外低代码平台有哪些 6大热门国内外低代码厂商介绍

低代码开发平台是一种新兴的开发工具&#xff0c;它允许用户通过图形化界面和拖放操作来创建应用程序&#xff0c;而无需编写大量的代码。这种平台的优势在于能够大幅提高开发效率&#xff0c;降低企业成本&#xff0c;并让非技术人员也能够参与到应用开发过程中来。 国内低代码…

WEB攻防- Javascript项目特性- Node.js框架安全-识别审计-验证绕过

1、什么是JS渗透测试&#xff1f; 在Javascript中也存在变量和函数&#xff0c;当存在可控变量及函数调用即可能存在参数漏洞 JS开发的WEB应用和PHP&#xff0c;JAVA,NET等区别在于即使没有源代码&#xff0c;也可以通过浏览器的查看源代码获取真实的点。所以相当于JS开发的WEB…

模块搜索目录

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 当使用import语句导入模块时&#xff0c;默认情况下&#xff0c;会按照以下顺序进行查找。 &#xff08;1&#xff09;在当前目录&#xff08;即执行…

RHCE (Linux进阶) Ubuntu 操作系统安装教程

一、在官网下载iso镜像文件 下载地址&#xff1a; https://cn.ubuntu.com/download/server/step1#downloads&#xff08;下载最新的Ubuntu 20.04 LTS服务器版本&#xff09; 二、VMware安装配置过程 基本安装过程 1、新建虚拟机 2、选择典型即可 3、设置下载好的Ubuntu对应路…

数字展示具有广阔发展空间 市场规模保持增长态势

数字展示具有广阔发展空间 市场规模保持增长态势 数字展示是指以数字图像为核心&#xff0c;将触摸屏、红外线感应器、三维数字图像等相结合的高层次展示行业。与传统展示方式相比&#xff0c;数字展示能够突破时间、空间及形态的局限&#xff0c;将文字、图像等各种信息转化为…

【大模型】在大语言模型的架构中,Transformer有何作用?

Transformer在大语言模型架构中的作用 Transformer是一种用于序列到序列&#xff08;Seq2Seq&#xff09;任务的深度学习模型&#xff0c;由Vaswani等人于2017年提出。在大语言模型&#xff08;LLM&#xff09;的架构中&#xff0c;Transformer扮演着关键的角色&#xff0c;它…

idea ecs部署服务

如图 部署后脚本 cd /home/project; mkdir -p order; cd order; cp /home/project/order-service-0.0.1-SNAPSHOT.jar .; cp --no-clobber /home/shell/ctl-plus.sh .; ./ctl-plus.sh restart;

AI一周大事记 | 主动式AI应用崛起,国内大模型厂商继续发力,微软AI全家桶狂飙...

文章目录 1. 大模型持续更新1.1 百川智能发布最新一代基座大模型 Baichuan 41.2 微软新开源Phi-3系列三个模型1.3 面壁智能发布MMiniCPM-Llama3-V 2.5&#xff0c;成为全球最强端侧多模态模型&#xff01; 2. AI应用探索2.1 GitHub Copilot扩展定制Copilot体验2.2 微软 Team Co…

扫码报名活动时,如何避免重复报名?

在用二维码进行活动报名或是物品领用时&#xff0c;如果有人重复提交&#xff0c;统计数据就会变得很麻烦。为了避免这种情况&#xff0c;我们可以为表单组件开启【内容不可重复提交】这个设置。 开启后&#xff0c;填表人就不能再填写 和「自己」 或 「其他填表人」 已提交的…