From ad01e7e8c4e5ea756e551dc7934f5f8ab1f727fd Mon Sep 17 00:00:00 2001 From: Charles7c Date: Sun, 30 Oct 2022 18:27:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E3=80=8ADocker?= =?UTF-8?q?=E5=AE=89=E8=A3=85MySQL=E3=80=8B=EF=BC=88=E5=B0=86=20VitePress?= =?UTF-8?q?=20=E7=89=88=E6=9C=AC=E5=8D=87=E7=BA=A7=E4=B8=BA=20v1.0.0-alpha?= =?UTF-8?q?.26=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2022/10/01/个人常用Docker命令.md | 26 +- .../fragments/2022/10/25/Docker安装Consul.md | 40 ++- .../2022/10/26/Docker安装OpenLDAP.md | 55 ++- .../mysql/03-附录/02-Docker安装MySQL.md | 106 ++++++ package.json | 12 +- pnpm-lock.yaml | 317 ++++++++++-------- 6 files changed, 384 insertions(+), 172 deletions(-) create mode 100644 docs/courses/mysql/03-附录/02-Docker安装MySQL.md diff --git a/docs/categories/fragments/2022/10/01/个人常用Docker命令.md b/docs/categories/fragments/2022/10/01/个人常用Docker命令.md index dd6ab5364..8431ca1e6 100644 --- a/docs/categories/fragments/2022/10/01/个人常用Docker命令.md +++ b/docs/categories/fragments/2022/10/01/个人常用Docker命令.md @@ -105,13 +105,23 @@ docker ps [-a] | grep 容器关键词 ```shell # -d 指定容器在后台运行 +# --name 指定容器名称 +# -m 限定容器内存大小 +# --restart 指定重新启动方式,always 表示始终重启 +# -e 指定环境变量配置 # -p 指定容器和宿主机的网络端口映射 # -v 指定容器和宿主机的目录挂载 # --network 指定容器使用的网络 # --network-alias 指定容器在网络中的别名 -# -m 限定容器内存大小 -# --name 指定容器名称 -docker run -d [-p 宿主机端口:容器内部端口] [-v 宿主机目录:容器内部目录] [--network 网络名称 --network-alias 网络别名] [-m xxxm] --name 容器名称 镜像名称[:标签/版本] + +docker run -d \ +--name 容器名称 镜像名称[:标签/版本] \ +[-m xxxm] \ +--restart=always \ +[-e 环境变量名=环境变量值] \ +[-p 宿主机端口:容器内部端口] \ +[-v 宿主机目录:容器内部目录] \ +[--network 网络名称 --network-alias 网络别名] ``` ### 停止容器 @@ -163,9 +173,9 @@ docker rm $(docker ps -aq) ### 进入容器内部 ```shell -docker exec -it 容器ID/容器名称 /bin/bash +docker exec -it 容器ID/容器名称 bash -docker exec -it 容器ID/容器名称 /bin/sh +docker exec -it 容器ID/容器名称 sh ``` ### 从容器内部退出 @@ -248,3 +258,9 @@ docker -v docker version ``` +### 查看 docker 信息 + +```shell +docker info +``` + diff --git a/docs/categories/fragments/2022/10/25/Docker安装Consul.md b/docs/categories/fragments/2022/10/25/Docker安装Consul.md index 78dc6633e..16bc835a6 100644 --- a/docs/categories/fragments/2022/10/25/Docker安装Consul.md +++ b/docs/categories/fragments/2022/10/25/Docker安装Consul.md @@ -37,25 +37,51 @@ docker pull consul:1.13.3 **下方的配置,切记要根据个人实际情况来修改。** ::: +- 容器的名称 +- 镜像名称:版本 +- 是否设置自启动? - 是否端口映射? - 映射的话映射到宿主机哪个端口? - 是否挂载卷? - 挂载的话要挂载宿主机哪个目录? -- 是否设置自启动? -- 容器的名称 -- 镜像名称:版本 - ...... - 等自定义配置 ```shell docker run -d \ --p 18500:8500 \ --v /opt/disk/consul/conf/:/consul/conf/ \ --v /opt/disk/consul/data/:/consul/data/ \ +--name consul consul:1.13.3 \ --restart=always \ ---name consul consul:1.13.3 +-p 18500:8500 \ +-v /opt/disk/docker/volumes/consul/conf:/consul/conf \ +-v /opt/disk/docker/volumes/consul/data:/consul/data ``` ## 验证 服务器开放好相应端口或设置好安全组规则后,访问 `http://宿主机IP:映射的端口` (例如按上方配置那就是:http://宿主机IP:18500)即可看到 Consul 界面。 + +## Docker Compose脚本 + +如果你是用的 docker-compose 来安装,下方附上相应 docker-compose.yml 脚本内容。 + +```yaml +version: '3' +services: + consul: + container_name: consul + image: consul:1.13.3 + restart: always + environment: + TZ: Asia/Shanghai + ports: + - 18500:8500 + volumes: + - /opt/disk/docker/volumes/consul/conf:/consul/conf + - /opt/disk/docker/volumes/consul/data:/consul/data +``` + +编写好 docker-compose.yml 脚本后,在脚本同级目录执行下方命令即可。 + +```shell +docker-compose up -d +``` diff --git a/docs/categories/fragments/2022/10/26/Docker安装OpenLDAP.md b/docs/categories/fragments/2022/10/26/Docker安装OpenLDAP.md index a94b535a6..8f1bb0801 100644 --- a/docs/categories/fragments/2022/10/26/Docker安装OpenLDAP.md +++ b/docs/categories/fragments/2022/10/26/Docker安装OpenLDAP.md @@ -37,14 +37,14 @@ docker pull osixia/openldap:1.5.0 **下方的配置,切记要根据个人实际情况来修改。** ::: +- 容器的名称 +- 镜像名称:版本 +- 是否设置自启动? - 是否端口映射? +- 环境变量配置 - 映射的话映射到宿主机哪个端口? - 是否挂载卷? - 挂载的话要挂载宿主机哪个目录? -- 具体的环境配置 -- 是否设置自启动? -- 容器的名称 -- 镜像名称:版本 - ...... - 等自定义配置 @@ -58,15 +58,15 @@ docker pull osixia/openldap:1.5.0 # allow:检查客户端证书,没有证书或证书错误,都允许连接 # never:不验证客户端证书 docker run -d \ --p 389:389 -p 636:636 \ --v /opt/disk/openldap/database:/var/lib/ldap \ --v /opt/disk/openldap/conf:/etc/ldap/slapd.d \ ---env LDAP_ORGANISATION="baidu" \ ---env LDAP_DOMAIN="baidu.com" \ ---env LDAP_ADMIN_PASSWORD="123456" \ ---env LDAP_TLS_VERIFY_CLIENT=try \ +--name openldap osixia/openldap:1.5.0 \ --restart=always \ ---name openldap osixia/openldap:1.5.0 +-e LDAP_ORGANISATION="baidu" \ +-e LDAP_DOMAIN="baidu.com" \ +-e LDAP_ADMIN_PASSWORD="123456" \ +-e LDAP_TLS_VERIFY_CLIENT=try \ +-p 389:389 -p 636:636 \ +-v /opt/disk/docker/volumes/openldap/conf:/etc/ldap/slapd.d \ +-v /opt/disk/docker/volumes/openldap/data:/var/lib/ldap ``` ## 验证 @@ -78,3 +78,34 @@ docker run -d \ ![202210262026266](../../../../../public/img/2022/10/26/202210262026266.png) ![202210262026566](../../../../../public/img/2022/10/26/202210262026566.png) + +## Docker Compose脚本 + +如果你是用的 docker-compose 来安装,下方附上相应 docker-compose.yml 脚本内容。 + +```yaml +version: '3' +services: + openldap: + container_name: openldap + image: osixia/openldap:1.5.0 + restart: always + environment: + LDAP_ORGANISATION: baidu + LDAP_DOMAIN: baidu.com + LDAP_ADMIN_PASSWORD: 123456 + LDAP_TLS_VERIFY_CLIENT: try + ports: + - 389:389 + - 636:636 + volumes: + - /opt/disk/docker/volumes/openldap/conf:/etc/ldap/slapd.d + - /opt/disk/docker/volumes/openldap/data:/var/lib/ldap +``` + +编写好 docker-compose.yml 脚本后,在脚本同级目录执行下方命令即可。 + +```shell +docker-compose up -d +``` + diff --git a/docs/courses/mysql/03-附录/02-Docker安装MySQL.md b/docs/courses/mysql/03-附录/02-Docker安装MySQL.md new file mode 100644 index 000000000..3ab800a85 --- /dev/null +++ b/docs/courses/mysql/03-附录/02-Docker安装MySQL.md @@ -0,0 +1,106 @@ +--- +title: Docker 安装 MySQL 详细步骤 +author: 查尔斯 +date: 2022/10/30 17:36 +categories: + - MySQL快速入门 +tags: + - MySQL + - Docker + - 容器 +showComment: false +--- + +# Docker 安装 MySQL 详细步骤 + +::: tip 笔者说 +笔者下面的步骤及配置是基于指定版本的实践,大多数程序大多数情况下在相差不大的版本时可以直接参考。(当然了,即使是非 Docker 方式安装程序也是一样道理) +::: + +## 拉取镜像 + +::: warning 笔者说 +拉取镜像时需要明确镜像版本(Tag)。 +::: + +不指定版本(Tag)就拉取镜像,那拉取下来的镜像版本(Tag)默认是 `latest`(最新的)。`latest` 会跟随 Docker Registry 中的记录变化,现在拉取下来的 `latest` 是 x1 版本,但隔了一段时间后你在其他机器上再拉取 `latest` 可能就是 x2 版本了。 + +变化的版本,不利于生产环境部署的稳定。无论是后续在其他环境部署还是扩容集群等场景均要求根据架构要求指定好版本。 + +```shell +docker pull mysql:8.0.29 +``` + +## 运行容器 + +::: warning 笔者说 +**下方的配置,切记要根据个人实际情况来修改。** +::: + +- 容器的名称 +- 镜像名称:版本 +- 是否设置自启动? +- 环境变量配置 +- 是否端口映射? +- 映射的话映射到宿主机哪个端口? +- 是否挂载卷? +- 挂载的话要挂载宿主机哪个目录? +- ...... +- 等自定义配置 + +```shell +# MYSQL_ROOT_PASSWORD:root 用户密码 +docker run -d \ +--name mysql mysql:8.0.29 \ +--restart=always \ +-e TZ=Asia/Shanghai \ +-e MYSQL_ROOT_PASSWORD=123456 \ +-p 13307:3306 \ +-v /opt/disk/docker/volumes/mysql/conf:/etc/mysql/conf.d \ +-v /opt/disk/docker/volumes/mysql/data:/var/lib/mysql \ +-v /opt/disk/docker/volumes/mysql/logs:/logs \ +# 将 MySQL 8.0 默认密码策略修改为原来策略 (MySQL 8.0 对其默认策略做了更改,会导致密码无法匹配) +--default-authentication-plugin=mysql_native_password \ +--character-set-server=utf8mb4 \ +--collation-server=utf8mb4_general_ci \ +--explicit_defaults_for_timestamp=true \ +--lower_case_table_names=1 +``` + +## 验证 + +服务器开放好相应端口或设置好安全组规则后,直接用 Navicat 连接即可。 + +## Docker Compose脚本 + +如果你是用的 docker-compose 来安装,下方附上相应 docker-compose.yml 脚本内容。 + +```yaml +version: '3' +services: + mysql: + container_name: mysql + image: mysql:8.0.29 + environment: + TZ: Asia/Shanghai + MYSQL_ROOT_PASSWORD: 123456 + ports: + - 13307:3306 + volumes: + - /opt/disk/docker/volumes/mysql/conf:/etc/mysql/conf.d + - /opt/disk/docker/volumes/mysql/data:/var/lib/mysql + - /opt/disk/docker/volumes/mysql/logs:/logs + command: + # 将 MySQL 8.0 默认密码策略修改为原来策略 (MySQL 8.0 对其默认策略做了更改,会导致密码无法匹配) + --default-authentication-plugin=mysql_native_password + --character-set-server=utf8mb4 + --collation-server=utf8mb4_general_ci + --explicit_defaults_for_timestamp=true + --lower_case_table_names=1 +``` + +编写好 docker-compose.yml 脚本后,在脚本同级目录执行下方命令即可。 + +```shell +docker-compose up -d +``` diff --git a/package.json b/package.json index 8b42e12b1..3539043d2 100644 --- a/package.json +++ b/package.json @@ -6,15 +6,15 @@ "serve": "vitepress serve docs" }, "devDependencies": { - "@arco-design/web-vue": "^2.37.4", + "@arco-design/web-vue": "^2.38.0", "markdown-it": "^13.0.1", "mermaid": "^9.1.7", - "unplugin-vue-components": "^0.22.8", - "vite": "^3.1.8", - "vitepress": "1.0.0-alpha.22", + "unplugin-vue-components": "^0.22.9", + "vite": "^3.2.1", + "vitepress": "1.0.0-alpha.26", "vitepress-plugin-mermaid": "^2.0.8", - "vitepress-plugin-search": "1.0.4-alpha.11", - "vue": "^3.2.40" + "vitepress-plugin-search": "1.0.4-alpha.14", + "vue": "^3.2.41" }, "dependencies": { "@antv/g2plot": "^2.4.20", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 79b8d7c91..afceebd9e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,7 +2,7 @@ lockfileVersion: 5.4 specifiers: '@antv/g2plot': ^2.4.20 - '@arco-design/web-vue': ^2.37.4 + '@arco-design/web-vue': ^2.38.0 blueimp-md5: ^2.19.0 dayjs: ^1.11.6 fast-glob: ^3.2.12 @@ -11,12 +11,12 @@ specifiers: jquery: ^3.6.1 markdown-it: ^13.0.1 mermaid: ^9.1.7 - unplugin-vue-components: ^0.22.8 - vite: ^3.1.8 - vitepress: 1.0.0-alpha.22 + unplugin-vue-components: ^0.22.9 + vite: ^3.2.1 + vitepress: 1.0.0-alpha.26 vitepress-plugin-mermaid: ^2.0.8 - vitepress-plugin-search: 1.0.4-alpha.11 - vue: ^3.2.40 + vitepress-plugin-search: 1.0.4-alpha.14 + vue: ^3.2.41 dependencies: '@antv/g2plot': 2.4.20 @@ -28,39 +28,39 @@ dependencies: jquery: 3.6.1 devDependencies: - '@arco-design/web-vue': 2.37.4_vue@3.2.40 + '@arco-design/web-vue': 2.38.0_vue@3.2.41 markdown-it: 13.0.1 mermaid: 9.1.7 - unplugin-vue-components: 0.22.8_vue@3.2.40 - vite: 3.1.8 - vitepress: 1.0.0-alpha.22 - vitepress-plugin-mermaid: 2.0.8_p34z6dwq43erxgx4dxznje46me - vitepress-plugin-search: 1.0.4-alpha.11_eny7drxhzzrhshlyu255qt5dum - vue: 3.2.40 + unplugin-vue-components: 0.22.9_vue@3.2.41 + vite: 3.2.1 + vitepress: 1.0.0-alpha.26 + vitepress-plugin-mermaid: 2.0.8_sj2y2ekbtck2gfw5ouyx75j7fy + vitepress-plugin-search: 1.0.4-alpha.14_edwxd2s5a3ayuywbdcmqzhfm3m + vue: 3.2.41 packages: - /@algolia/autocomplete-core/1.7.1: - resolution: {integrity: sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg==} + /@algolia/autocomplete-core/1.7.2: + resolution: {integrity: sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw==} dependencies: - '@algolia/autocomplete-shared': 1.7.1 + '@algolia/autocomplete-shared': 1.7.2 dev: true - /@algolia/autocomplete-preset-algolia/1.7.1_algoliasearch@4.14.2: - resolution: {integrity: sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg==} + /@algolia/autocomplete-preset-algolia/1.7.2_algoliasearch@4.14.2: + resolution: {integrity: sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw==} peerDependencies: - '@algolia/client-search': ^4.9.1 - algoliasearch: ^4.9.1 + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' peerDependenciesMeta: '@algolia/client-search': optional: true dependencies: - '@algolia/autocomplete-shared': 1.7.1 + '@algolia/autocomplete-shared': 1.7.2 algoliasearch: 4.14.2 dev: true - /@algolia/autocomplete-shared/1.7.1: - resolution: {integrity: sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg==} + /@algolia/autocomplete-shared/1.7.2: + resolution: {integrity: sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug==} dev: true /@algolia/cache-browser-local-storage/4.14.2: @@ -153,8 +153,8 @@ packages: '@algolia/requester-common': 4.14.2 dev: true - /@antfu/utils/0.5.2: - resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} + /@antfu/utils/0.6.0: + resolution: {integrity: sha512-VauUKmo22NYo3y6fIjGjVU7LJyhaedYL9kyabdvIIIl7P+qbNPbQiaLwwk4UOU4McFfA2eg+aIWpEYhkHzsE9Q==} dev: true /@antv/adjust/0.2.5: @@ -336,8 +336,8 @@ packages: color: 3.2.1 dev: true - /@arco-design/web-vue/2.37.4_vue@3.2.40: - resolution: {integrity: sha512-h8mK/I0jxlYKG/q5EiOOTqOdE12bRLxMFIkmNYr5XiixbvlI2YBYuyOjoDtlr1FY68cp6o77ysPmmedG5rmeng==} + /@arco-design/web-vue/2.38.0_vue@3.2.41: + resolution: {integrity: sha512-OobRjNqbxPr+rJJcoYq9+uYBpCkRuO/zlBwYYKGnzb7Q7BRIohPf3HMMut9iAdPLgU5bFxNHJtmTREHAPHXHfw==} peerDependencies: vue: ^3.1.0 dependencies: @@ -349,7 +349,7 @@ packages: number-precision: 1.5.2 resize-observer-polyfill: 1.5.1 scroll-into-view-if-needed: 2.2.29 - vue: 3.2.40 + vue: 3.2.41 dev: true /@babel/helper-string-parser/7.18.10: @@ -383,14 +383,14 @@ packages: resolution: {integrity: sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w==} dev: true - /@docsearch/css/3.2.1: - resolution: {integrity: sha512-gaP6TxxwQC+K8D6TRx5WULUWKrcbzECOPA2KCVMuI+6C7dNiGUk5yXXzVhc5sld79XKYLnO9DRTI4mjXDYkh+g==} + /@docsearch/css/3.3.0: + resolution: {integrity: sha512-rODCdDtGyudLj+Va8b6w6Y85KE85bXRsps/R4Yjwt5vueXKXZQKYw0aA9knxLBT6a/bI/GMrAcmCR75KYOM6hg==} dev: true - /@docsearch/js/3.2.1: - resolution: {integrity: sha512-H1PekEtSeS0msetR2YGGey2w7jQ2wAKfGODJvQTygSwMgUZ+2DHpzUgeDyEBIXRIfaBcoQneqrzsljM62pm6Xg==} + /@docsearch/js/3.3.0: + resolution: {integrity: sha512-oFXWRPNvPxAzBhnFJ9UCFIYZiQNc3Yrv6912nZHw/UIGxsyzKpNRZgHq8HDk1niYmOSoLKtVFcxkccpQmYGFyg==} dependencies: - '@docsearch/react': 3.2.1 + '@docsearch/react': 3.3.0 preact: 10.11.0 transitivePeerDependencies: - '@algolia/client-search' @@ -399,8 +399,8 @@ packages: - react-dom dev: true - /@docsearch/react/3.2.1: - resolution: {integrity: sha512-EzTQ/y82s14IQC5XVestiK/kFFMe2aagoYFuTAIfIb/e+4FU7kSMKonRtLwsCiLQHmjvNQq+HO+33giJ5YVtaQ==} + /@docsearch/react/3.3.0: + resolution: {integrity: sha512-fhS5adZkae2SSdMYEMVg6pxI5a/cE+tW16ki1V0/ur4Fdok3hBRkmN/H8VvlXnxzggkQIIRIVvYPn00JPjen3A==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -413,9 +413,9 @@ packages: react-dom: optional: true dependencies: - '@algolia/autocomplete-core': 1.7.1 - '@algolia/autocomplete-preset-algolia': 1.7.1_algoliasearch@4.14.2 - '@docsearch/css': 3.2.1 + '@algolia/autocomplete-core': 1.7.2 + '@algolia/autocomplete-preset-algolia': 1.7.2_algoliasearch@4.14.2 + '@docsearch/css': 3.3.0 algoliasearch: 4.14.2 transitivePeerDependencies: - '@algolia/client-search' @@ -457,10 +457,16 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - /@rollup/pluginutils/4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} + /@rollup/pluginutils/5.0.2: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: + '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 dev: true @@ -469,128 +475,132 @@ packages: resolution: {integrity: sha512-TF8aoF5cHcLO7W7403blM7L1T+6NF3XMyN3fxyUolq2uOcFeicG/khQg/dGxiCJWoAcmYulYN7LYSRKO54IXaA==} dev: false - /@types/web-bluetooth/0.0.15: - resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==} + /@types/estree/1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true - /@vitejs/plugin-vue/3.1.2_vite@3.1.8+vue@3.2.40: + /@types/web-bluetooth/0.0.16: + resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + dev: true + + /@vitejs/plugin-vue/3.1.2_vite@3.2.1+vue@3.2.41: resolution: {integrity: sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^3.0.0 vue: ^3.2.25 dependencies: - vite: 3.1.8 - vue: 3.2.40 + vite: 3.2.1 + vue: 3.2.41 dev: true - /@vue/compiler-core/3.2.40: - resolution: {integrity: sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==} + /@vue/compiler-core/3.2.41: + resolution: {integrity: sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==} dependencies: '@babel/parser': 7.19.3 - '@vue/shared': 3.2.40 + '@vue/shared': 3.2.41 estree-walker: 2.0.2 source-map: 0.6.1 dev: true - /@vue/compiler-dom/3.2.40: - resolution: {integrity: sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==} + /@vue/compiler-dom/3.2.41: + resolution: {integrity: sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==} dependencies: - '@vue/compiler-core': 3.2.40 - '@vue/shared': 3.2.40 + '@vue/compiler-core': 3.2.41 + '@vue/shared': 3.2.41 dev: true - /@vue/compiler-sfc/3.2.40: - resolution: {integrity: sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==} + /@vue/compiler-sfc/3.2.41: + resolution: {integrity: sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==} dependencies: '@babel/parser': 7.19.3 - '@vue/compiler-core': 3.2.40 - '@vue/compiler-dom': 3.2.40 - '@vue/compiler-ssr': 3.2.40 - '@vue/reactivity-transform': 3.2.40 - '@vue/shared': 3.2.40 + '@vue/compiler-core': 3.2.41 + '@vue/compiler-dom': 3.2.41 + '@vue/compiler-ssr': 3.2.41 + '@vue/reactivity-transform': 3.2.41 + '@vue/shared': 3.2.41 estree-walker: 2.0.2 magic-string: 0.25.9 postcss: 8.4.17 source-map: 0.6.1 dev: true - /@vue/compiler-ssr/3.2.40: - resolution: {integrity: sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==} + /@vue/compiler-ssr/3.2.41: + resolution: {integrity: sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==} dependencies: - '@vue/compiler-dom': 3.2.40 - '@vue/shared': 3.2.40 + '@vue/compiler-dom': 3.2.41 + '@vue/shared': 3.2.41 dev: true - /@vue/devtools-api/6.4.4: - resolution: {integrity: sha512-Ku31WzpOV/8cruFaXaEZKF81WkNnvCSlBY4eOGtz5WMSdJvX1v1WWlSMGZeqUwPtQ27ZZz7B62erEMq8JDjcXw==} + /@vue/devtools-api/6.4.5: + resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} dev: true - /@vue/reactivity-transform/3.2.40: - resolution: {integrity: sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==} + /@vue/reactivity-transform/3.2.41: + resolution: {integrity: sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==} dependencies: '@babel/parser': 7.19.3 - '@vue/compiler-core': 3.2.40 - '@vue/shared': 3.2.40 + '@vue/compiler-core': 3.2.41 + '@vue/shared': 3.2.41 estree-walker: 2.0.2 magic-string: 0.25.9 dev: true - /@vue/reactivity/3.2.40: - resolution: {integrity: sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==} + /@vue/reactivity/3.2.41: + resolution: {integrity: sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==} dependencies: - '@vue/shared': 3.2.40 + '@vue/shared': 3.2.41 dev: true - /@vue/runtime-core/3.2.40: - resolution: {integrity: sha512-U1+rWf0H8xK8aBUZhnrN97yoZfHbjgw/bGUzfgKPJl69/mXDuSg8CbdBYBn6VVQdR947vWneQBFzdhasyzMUKg==} + /@vue/runtime-core/3.2.41: + resolution: {integrity: sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==} dependencies: - '@vue/reactivity': 3.2.40 - '@vue/shared': 3.2.40 + '@vue/reactivity': 3.2.41 + '@vue/shared': 3.2.41 dev: true - /@vue/runtime-dom/3.2.40: - resolution: {integrity: sha512-AO2HMQ+0s2+MCec8hXAhxMgWhFhOPJ/CyRXnmTJ6XIOnJFLrH5Iq3TNwvVcODGR295jy77I6dWPj+wvFoSYaww==} + /@vue/runtime-dom/3.2.41: + resolution: {integrity: sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==} dependencies: - '@vue/runtime-core': 3.2.40 - '@vue/shared': 3.2.40 + '@vue/runtime-core': 3.2.41 + '@vue/shared': 3.2.41 csstype: 2.6.21 dev: true - /@vue/server-renderer/3.2.40_vue@3.2.40: - resolution: {integrity: sha512-gtUcpRwrXOJPJ4qyBpU3EyxQa4EkV8I4f8VrDePcGCPe4O/hd0BPS7v9OgjIQob6Ap8VDz9G+mGTKazE45/95w==} + /@vue/server-renderer/3.2.41_vue@3.2.41: + resolution: {integrity: sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==} peerDependencies: - vue: 3.2.40 + vue: 3.2.41 dependencies: - '@vue/compiler-ssr': 3.2.40 - '@vue/shared': 3.2.40 - vue: 3.2.40 + '@vue/compiler-ssr': 3.2.41 + '@vue/shared': 3.2.41 + vue: 3.2.41 dev: true - /@vue/shared/3.2.40: - resolution: {integrity: sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==} + /@vue/shared/3.2.41: + resolution: {integrity: sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==} dev: true - /@vueuse/core/9.3.0_vue@3.2.40: - resolution: {integrity: sha512-64Rna8IQDWpdrJxgitDg7yv1yTp41ZmvV8zlLEylK4QQLWAhz1OFGZDPZ8bU4lwcGgbEJ2sGi2jrdNh4LttUSQ==} + /@vueuse/core/9.4.0_vue@3.2.41: + resolution: {integrity: sha512-JzgenGj1ZF2BHOen5rsFiAyyI9sXAv7aKhNLlm9b7SwYQeKTcxTWdhudonURCSP3Egl9NQaRBzes2lv/1JUt/Q==} dependencies: - '@types/web-bluetooth': 0.0.15 - '@vueuse/metadata': 9.3.0 - '@vueuse/shared': 9.3.0_vue@3.2.40 - vue-demi: 0.13.11_vue@3.2.40 + '@types/web-bluetooth': 0.0.16 + '@vueuse/metadata': 9.4.0 + '@vueuse/shared': 9.4.0_vue@3.2.41 + vue-demi: 0.13.11_vue@3.2.41 transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/metadata/9.3.0: - resolution: {integrity: sha512-GnnfjbzIPJIh9ngL9s9oGU1+Hx/h5/KFqTfJykzh/1xjaHkedV9g0MASpdmPZIP+ynNhKAcEfA6g5i8KXwtoMA==} + /@vueuse/metadata/9.4.0: + resolution: {integrity: sha512-7GKMdGAsJyQJl35MYOz/RDpP0FxuiZBRDSN79QIPbdqYx4Sd0sVTnIC68KJ6Oln0t0SouvSUMvRHuno216Ud2Q==} dev: true - /@vueuse/shared/9.3.0_vue@3.2.40: - resolution: {integrity: sha512-caGUWLY0DpPC6l31KxeUy6vPVNA0yKxx81jFYLoMpyP6cF84FG5Dkf69DfSUqL57wX8JcUkJDMnQaQIZPWFEQQ==} + /@vueuse/shared/9.4.0_vue@3.2.41: + resolution: {integrity: sha512-fTuem51KwMCnqUKkI8B57qAIMcFovtGgsCtAeqxIzH3i6nE9VYge+gVfneNHAAy7lj8twbkNfqQSygOPJTm4tQ==} dependencies: - vue-demi: 0.13.11_vue@3.2.40 + vue-demi: 0.13.11_vue@3.2.41 transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2116,8 +2126,8 @@ packages: sourcemap-codec: 1.4.8 dev: true - /magic-string/0.26.5: - resolution: {integrity: sha512-yXUIYOOQnEHKHOftp5shMWpB9ImfgfDJpapa38j/qMtTj5QHWucvxP4lUtuRmHT9vAzvtpHkWKXW9xBwimXeNg==} + /magic-string/0.26.7: + resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} engines: {node: '>=12'} dependencies: sourcemap-codec: 1.4.8 @@ -2283,6 +2293,15 @@ packages: source-map-js: 1.0.2 dev: true + /postcss/8.4.18: + resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /preact-compat/3.16.0_preact@8.1.0: resolution: {integrity: sha512-m9BPZwhKL4bYEHglppBNGeBWdo8mVCsX8SzSzC+YHRUvtYDfcA3/wXb0T+bDZDiJ4hkTxriK/ybVBOMyJ48Ieg==} peerDependencies: @@ -2410,8 +2429,8 @@ packages: source-map-support: 0.3.3 dev: false - /rollup/2.78.1: - resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==} + /rollup/2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -2452,6 +2471,14 @@ packages: kind-of: 6.0.3 dev: false + /shiki-processor/0.1.1_shiki@0.11.1: + resolution: {integrity: sha512-K2v/JNHdMRGFnbcVqAgvPU8qmZNgtiBrYcYKe3O6Lx2W0RoyiwzrrpCUU917b2r2EMS+2FNgRIgz9xvtmF/L7w==} + peerDependencies: + shiki: ^0.11.1 + dependencies: + shiki: 0.11.1 + dev: true + /shiki/0.11.1: resolution: {integrity: sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==} dependencies: @@ -2642,8 +2669,8 @@ packages: which-boxed-primitive: 1.0.2 dev: false - /unplugin-vue-components/0.22.8_vue@3.2.40: - resolution: {integrity: sha512-Musnwdtr6uj9Zopo4oeh4lp9+fJ2ArXVDzSiZxF4YC9v+pLnasKVKEEAjdXuQQ3u3KtntVw6PCscyAt52eS75g==} + /unplugin-vue-components/0.22.9_vue@3.2.41: + resolution: {integrity: sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==} engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 @@ -2652,23 +2679,24 @@ packages: '@babel/parser': optional: true dependencies: - '@antfu/utils': 0.5.2 - '@rollup/pluginutils': 4.2.1 + '@antfu/utils': 0.6.0 + '@rollup/pluginutils': 5.0.2 chokidar: 3.5.3 debug: 4.3.4 fast-glob: 3.2.12 local-pkg: 0.4.2 - magic-string: 0.26.5 + magic-string: 0.26.7 minimatch: 5.1.0 resolve: 1.22.1 - unplugin: 0.9.6 - vue: 3.2.40 + unplugin: 0.10.2 + vue: 3.2.41 transitivePeerDependencies: + - rollup - supports-color dev: true - /unplugin/0.9.6: - resolution: {integrity: sha512-YYLtfoNiie/lxswy1GOsKXgnLJTE27la/PeCGznSItk+8METYZErO+zzV9KQ/hXhPwzIJsfJ4s0m1Rl7ZCWZ4Q==} + /unplugin/0.10.2: + resolution: {integrity: sha512-6rk7GUa4ICYjae5PrAllvcDeuT8pA9+j5J5EkxbMFaV+SalHhxZ7X2dohMzu6C3XzsMT+6jwR/+pwPNR3uK9MA==} dependencies: acorn: 8.8.0 chokidar: 3.5.3 @@ -2676,14 +2704,15 @@ packages: webpack-virtual-modules: 0.4.5 dev: true - /vite/3.1.8: - resolution: {integrity: sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==} + /vite/3.2.1: + resolution: {integrity: sha512-ADtMkfHuWq4tskJsri2n2FZkORO8ZyhI+zIz7zTrDAgDEtct1jdxOg3YsZBfHhKjmMoWLOSCr+64qrEDGo/DbQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: less: '*' sass: '*' stylus: '*' + sugarss: '*' terser: ^5.4.0 peerDependenciesMeta: less: @@ -2692,18 +2721,20 @@ packages: optional: true stylus: optional: true + sugarss: + optional: true terser: optional: true dependencies: esbuild: 0.15.10 - postcss: 8.4.17 + postcss: 8.4.18 resolve: 1.22.1 - rollup: 2.78.1 + rollup: 2.79.1 optionalDependencies: fsevents: 2.3.2 dev: true - /vitepress-plugin-mermaid/2.0.8_p34z6dwq43erxgx4dxznje46me: + /vitepress-plugin-mermaid/2.0.8_sj2y2ekbtck2gfw5ouyx75j7fy: resolution: {integrity: sha512-ywWxTeg9kMv7ZPf/igCBF4ZHhWZAyRtbPnA12ICQuNK2AMp7r5IHOfnuX1EJQf8gNdsh8bcvvSvm8Ll92fdOTw==} peerDependencies: mermaid: ^8.0.0 || ^9.0.0 @@ -2711,35 +2742,36 @@ packages: vitepress: ^0.21.6 || ^1.0.0 || ^1.0.0-alpha dependencies: mermaid: 9.1.7 - vitepress: 1.0.0-alpha.22 + vitepress: 1.0.0-alpha.26 dev: true - /vitepress-plugin-search/1.0.4-alpha.11_eny7drxhzzrhshlyu255qt5dum: - resolution: {integrity: sha512-fKJIpPj6QGQeXda31Dx5f9DtCYnPVHKQVsOUpnJOzahWHPPgGofslwwvwaeRMWIGvpslxi/m4RVK6C+ydqKukA==} + /vitepress-plugin-search/1.0.4-alpha.14_edwxd2s5a3ayuywbdcmqzhfm3m: + resolution: {integrity: sha512-PvHdsv4DN4SNfbfMN2IFp6vNKLXqEVpZpvkFi5zyEdTn0nb2HtaNuAtwSeSz7gWOMZwzLQ/ncHQ0Ka5beHgASQ==} engines: {node: ^14.13.1 || ^16.7.0 || >=18} peerDependencies: vite: 2 || 3 vitepress: ^1.0.0-alpha.13 vue: '3' dependencies: - vite: 3.1.8 - vitepress: 1.0.0-alpha.22 - vue: 3.2.40 + vite: 3.2.1 + vitepress: 1.0.0-alpha.26 + vue: 3.2.41 dev: true - /vitepress/1.0.0-alpha.22: - resolution: {integrity: sha512-IWqnAxMDNaiyl6Bz+/79l40Ho6xsjrqxRp/WZw0+5BXR0BTZbmHyhGtI3XrH6oSn8MisLPjCccikaj3mcmCoWg==} + /vitepress/1.0.0-alpha.26: + resolution: {integrity: sha512-XpDpflrdmyBmUQrg06q29Mhez144NvoZ48pRvNhANy/wV7E7XJ1zenQROOSADnOsAlhV1gzcNjqiFNObCk7l8A==} hasBin: true dependencies: - '@docsearch/css': 3.2.1 - '@docsearch/js': 3.2.1 - '@vitejs/plugin-vue': 3.1.2_vite@3.1.8+vue@3.2.40 - '@vue/devtools-api': 6.4.4 - '@vueuse/core': 9.3.0_vue@3.2.40 + '@docsearch/css': 3.3.0 + '@docsearch/js': 3.3.0 + '@vitejs/plugin-vue': 3.1.2_vite@3.2.1+vue@3.2.41 + '@vue/devtools-api': 6.4.5 + '@vueuse/core': 9.4.0_vue@3.2.41 body-scroll-lock: 4.0.0-beta.0 shiki: 0.11.1 - vite: 3.1.8 - vue: 3.2.40 + shiki-processor: 0.1.1_shiki@0.11.1 + vite: 3.2.1 + vue: 3.2.41 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -2749,6 +2781,7 @@ packages: - react-dom - sass - stylus + - sugarss - terser dev: true @@ -2760,7 +2793,7 @@ packages: resolution: {integrity: sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==} dev: true - /vue-demi/0.13.11_vue@3.2.40: + /vue-demi/0.13.11_vue@3.2.41: resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} engines: {node: '>=12'} hasBin: true @@ -2772,17 +2805,17 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.2.40 + vue: 3.2.41 dev: true - /vue/3.2.40: - resolution: {integrity: sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A==} + /vue/3.2.41: + resolution: {integrity: sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==} dependencies: - '@vue/compiler-dom': 3.2.40 - '@vue/compiler-sfc': 3.2.40 - '@vue/runtime-dom': 3.2.40 - '@vue/server-renderer': 3.2.40_vue@3.2.40 - '@vue/shared': 3.2.40 + '@vue/compiler-dom': 3.2.41 + '@vue/compiler-sfc': 3.2.41 + '@vue/runtime-dom': 3.2.41 + '@vue/server-renderer': 3.2.41_vue@3.2.41 + '@vue/shared': 3.2.41 dev: true /warning/3.0.0: