mirror of
https://github.com/Dichgrem/Blog.git
synced 2025-02-23 05:58:36 -05:00
Initial commit
This commit is contained in:
parent
ebfd2c4db6
commit
63cd17a552
78
content/docker-learn-4.md
Normal file
78
content/docker-learn-4.md
Normal file
@ -0,0 +1,78 @@
|
||||
+++
|
||||
title = "Docker学习笔记(四)"
|
||||
date = 2024-03-28
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Docker"]
|
||||
+++
|
||||
|
||||
前言 Docker 使您能够运行与主机操作系统分离的隔离代码段(包括应用程序及其依赖项)的容器。默认情况下,容器是临时的,这意味着容器中存储的任何数据一旦终止就会丢失。为了克服这个问题并跨容器生命周期保留数据,Docker 提供了多种数据持久化方法。
|
||||
<!-- more -->
|
||||
|
||||
## **Docker 中的数据持久化**
|
||||
|
||||
在本节中,我们将介绍:
|
||||
|
||||
- Docker Volumes Docker 卷
|
||||
- Bind Mounts 绑定挂载
|
||||
- Docker tmpfs mounts Docker tmpfs 挂载
|
||||
|
||||
## **Docker Volumes Docker 卷**
|
||||
|
||||
Docker 卷是保存 Docker 容器生成和使用的数据的首选方法。卷是 Docker 用于存储文件和目录的主机上的一个目录,这些文件和目录的寿命可能超过容器的生命周期。Docker 卷可以在容器之间共享,它们提供了各种好处,例如轻松备份和数据迁移。
|
||||
|
||||
要创建卷,请使用以下命令:
|
||||
```
|
||||
docker volume create volume_name
|
||||
```
|
||||
要使用卷,请在 docker run 命令中添加 --volume(或 -v)标志:
|
||||
```
|
||||
docker run --volume volume_name:/container/path image_name
|
||||
```
|
||||
|
||||
**在容器中挂载卷**
|
||||
若要将卷装载到容器,需要在运行容器时使用 -v 或 --mount 标志。下面是一个示例:
|
||||
|
||||
Using -v flag: 使用 -v 标志:
|
||||
```
|
||||
docker run -d -v my-volume:/data your-image
|
||||
```
|
||||
Using --mount flag: 使用 --mount 标志:
|
||||
```
|
||||
docker run -d --mount source=my-volume,destination=/data your-image
|
||||
```
|
||||
在上面的两个示例中,my-volume 是我们之前创建的卷的名称,/data 是容器内将挂载卷的路径。
|
||||
|
||||
**在容器之间共享卷**
|
||||
要在多个容器之间共享卷,只需在多个容器上挂载相同的卷即可。下面介绍如何在运行不同映像的两个容器之间共享 my-volume:
|
||||
```
|
||||
docker run -d -v my-volume:/data1 image1
|
||||
docker run -d -v my-volume:/data2 image2
|
||||
```
|
||||
在此示例中,image1 和 image2 将有权访问存储在 my-volume 中的相同数据。
|
||||
|
||||
**Removing a Volume 删除卷**
|
||||
要删除卷,可以使用 docker volume rm 命令,后跟卷名称:
|
||||
```
|
||||
docker volume rm my-volume
|
||||
```
|
||||
## **Bind Mounts 绑定挂载**
|
||||
绑定挂载允许您将主机上的任何目录映射到容器中的目录。此方法在需要修改主机系统上的文件的开发环境中非常有用,并且这些更改应立即在容器中可用。
|
||||
|
||||
与卷相比,绑定挂载的功能有限。使用绑定挂载时,主机上的文件或目录将装载到容器中。文件或目录由其在主机上的绝对路径引用。相比之下,当您使用卷时,会在主机上的 Docker 存储目录中创建一个新目录,Docker 管理该目录的内容。
|
||||
|
||||
文件或目录不需要已存在于 Docker 主机上。如果尚不存在,则按需创建。绑定挂载的性能非常高,但它们依赖于主机的文件系统,该文件系统具有特定的可用目录结构。
|
||||
|
||||
要创建绑定挂载,请在 docker run 命令中使用带有 type=bind 的 --mount 标志:
|
||||
```
|
||||
docker run --mount type=bind,src=/host/path,dst=/container/path image_name
|
||||
```
|
||||
## **Docker tmpfs mounts Docker tmpfs 挂载**
|
||||
|
||||
Docker tmpfs 挂载允许您直接在容器的内存中创建临时文件存储。存储在 tmpfs 挂载中的数据快速且安全,但一旦容器终止,数据就会丢失。
|
||||
要使用 tmpfs 挂载,请在 docker run 命令中添加 --tmpfs 标志:
|
||||
```
|
||||
docker run --tmpfs /container/path image_name
|
||||
```
|
||||
通过采用这些方法,可以确保跨容器生命周期的数据持久性,从而增强 Docker 容器的实用性和灵活性。请记住选择最适合您的用例的方法,无论是首选的 Docker 卷、方便的绑定挂载,还是快速安全的 tmpfs 挂载。
|
||||
|
132
content/docker-learn-5.md
Normal file
132
content/docker-learn-5.md
Normal file
@ -0,0 +1,132 @@
|
||||
+++
|
||||
title = "Docker学习笔记(五)"
|
||||
date = 2024-03-28
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Docker"]
|
||||
+++
|
||||
|
||||
前言 第三方映像是预构建的 Docker 容器映像,可在 Docker Hub 或其他容器注册表上使用。这些映像由个人或组织创建和维护,可用作容器化应用程序的起点。
|
||||
|
||||
|
||||
<!-- more -->
|
||||
|
||||
## **查找第三方镜像**
|
||||
Docker Hub 是最大、最受欢迎的容器镜像注册表,包含官方和社区维护的镜像。您可以根据要使用的名称或技术搜索镜像。
|
||||
|
||||
例如:如果你正在寻找 Node.js 映像,你可以在 Docker Hub 上搜索“Node”,你会找到官方Node.js映像以及许多其他社区维护的映像。
|
||||
|
||||
**在 Dockerfile 中使用映像**
|
||||
要在 Dockerfile 中使用第三方映像,只需使用 FROM 指令将映像名称设置为基础映像即可。下面是使用官方Node.js镜像的示例:
|
||||
|
||||
FROM node:14
|
||||
```
|
||||
# The rest of your Dockerfile...
|
||||
```
|
||||
**注意安全问题**
|
||||
请记住,第三方映像可能存在安全漏洞或配置错误。在生产中使用镜像之前,请务必验证镜像的来源并检查其信誉。更喜欢使用官方镜像或维护良好的社区镜像。
|
||||
|
||||
**维护您的镜像**
|
||||
使用第三方映像时,必须保持更新,以包含最新的安全更新和依赖项更改。定期检查基础映像中的更新,并相应地重新生成应用程序容器。
|
||||
|
||||
## **使用第三方映像:数据库**
|
||||
在 Docker 容器中运行数据库有助于简化开发过程并简化部署。Docker Hub 为 MySQL、PostgreSQL 和 MongoDB 等流行数据库提供了大量预制映像。
|
||||
|
||||
**示例:使用 MySQL 镜像**
|
||||
要使用 MySQL 数据库,请在 Docker Hub 上搜索官方镜像:
|
||||
```
|
||||
docker search mysql
|
||||
```
|
||||
找到官方图片,然后拉动它:
|
||||
```
|
||||
docker pull mysql
|
||||
```
|
||||
现在,您可以运行 MySQL 容器。指定所需的环境变量,例如 MYSQL_ROOT_PASSWORD,并选择性地将容器的端口映射到主机:
|
||||
```
|
||||
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql
|
||||
```
|
||||
此命令创建一个名为 some-mysql 的新容器,将 root 密码设置为 my-secret-pw,并将主机上的端口 3306 映射到容器上的端口 3306。
|
||||
|
||||
**示例:使用 PostgreSQL 镜像**
|
||||
对于 PostgreSQL,请执行与上述步骤类似的步骤。首先,搜索官方图片:
|
||||
```
|
||||
docker search postgres
|
||||
```
|
||||
Pull the image: 拉取图像:
|
||||
```
|
||||
docker pull postgres
|
||||
```
|
||||
运行 PostgreSQL 容器,指定环境变量,例如 POSTGRES_PASSWORD:
|
||||
```
|
||||
docker run --name some-postgres -e POSTGRES_PASSWORD=my-secret-pw -p 5432:5432 -d postgres
|
||||
```
|
||||
|
||||
|
||||
## **使用 Docker 的交互式测试环境**
|
||||
Docker 允许您创建隔离的一次性环境,这些环境可以在完成测试后删除。这使得使用第三方软件、测试不同的依赖项或版本以及快速试验变得更加容易,而不会损坏本地设置。
|
||||
|
||||
**使用 Docker 创建交互式测试环境**
|
||||
为了演示如何设置交互式测试环境,让我们以 Python 编程语言为例。我们将使用 Docker Hub 上提供的公共 Python 映像。
|
||||
|
||||
要使用 Python 映像启动交互式测试环境,只需运行以下命令:
|
||||
```
|
||||
docker run -it --rm python
|
||||
```
|
||||
在这里,-it 标志确保使用 tty 在交互模式下运行容器,而 --rm 标志将在容器停止后将其删除。
|
||||
|
||||
现在,您应该位于容器内的交互式 Python shell 中。您可以像往常一样使用 pip 执行任何 Python 命令或安装其他软件包。
|
||||
```
|
||||
print("Hello, Docker!")
|
||||
```
|
||||
完成交互式会话后,只需键入 exit() 或按 CTRL+D 即可退出容器。容器将按照 --rm 标志的指定自动删除。
|
||||
|
||||
**交互式测试环境的更多示例**
|
||||
可以使用 Docker Hub 上提供的多个第三方映像,并创建各种交互式环境,例如:
|
||||
|
||||
Node.js:若要启动交互式 Node.js shell,可以使用以下命令:
|
||||
```
|
||||
docker run -it --rm node
|
||||
```
|
||||
Ruby:要启动交互式 Ruby shell,您可以使用以下命令:
|
||||
```
|
||||
docker run -it --rm ruby
|
||||
```
|
||||
MySQL:要启动临时 MySQL 实例,您可以使用以下命令:
|
||||
```
|
||||
docker run -it --rm --name temp-mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 mysql
|
||||
```
|
||||
这将启动一个临时的MySQL服务器,该服务器可以通过主机端口3306访问。一旦容器停止,它将被移除。
|
||||
|
||||
随意探索和测试各种软件,而不必担心损坏本地计算机或安装不必要的依赖项。将 Docker 用于交互式测试环境可以让您在处理各种第三方软件时更高效、更干净地工作。
|
||||
|
||||
|
||||
|
||||
## **命令行实用程序**
|
||||
Docker 映像可以包括命令行实用程序或我们可以在容器内运行的独立应用程序。这在使用第三方映像时非常有用,因为我们想要使用的工具已经打包好,无需任何安装或配置即可运行。
|
||||
|
||||
**BusyBox**
|
||||
BusyBox 是一个小型 (1-2 Mb) 且简单的命令行应用程序,它提供了大量常用的 Unix 实用程序,例如 awk、grep、vi 等。要在 Docker 容器中运行 BusyBox,只需拉取映像并使用 Docker 运行它:
|
||||
```
|
||||
docker pull busybox
|
||||
docker run -it busybox /bin/sh
|
||||
```
|
||||
进入容器后,您可以开始运行各种 BusyBox 实用程序,就像在常规命令行上一样。
|
||||
|
||||
**cURL**
|
||||
cURL 是一个众所周知的命令行工具,可用于使用各种网络协议传输数据。它通常用于测试 API 或从 Internet 下载文件。若要在 Docker 容器中使用 cURL,可以使用 Docker Hub 上提供的官方 cURL 映像:
|
||||
```
|
||||
docker pull curlimages/curl
|
||||
docker run --rm curlimages/curl https://example.com
|
||||
```
|
||||
在此示例中,--rm 标志用于在命令运行完毕后删除容器。当您只需要运行单个命令,然后清理容器时,这很有用。
|
||||
|
||||
**其他命令行实用程序**
|
||||
Docker 映像中提供了许多命令行实用程序,包括但不限于:
|
||||
|
||||
- wget:用于从 Web 上非交互式下载文件的免费实用程序。
|
||||
- imagemagick:用于图像处理和转换的强大软件套件。
|
||||
- jq:轻量级且灵活的命令行 JSON 处理器。
|
||||
|
||||
若要使用这些工具中的任何一个,可以在 Docker Hub 上搜索它们,并按照其各自存储库中提供的说明进行操作。
|
||||
|
||||
|
@ -20,32 +20,32 @@ tags = ["keyboard"]
|
||||
|
||||
既然是高低电平表述的错误,那么我们只需建立DSDT 表副本,将其修改,然后让它优先启动,从而让键盘配置正常;另外还存在 BIOS 修复,内核编译的方法,比较复杂,这里不做说明。
|
||||
```
|
||||
### 首先建立一个DSDT文件夹:
|
||||
首先建立一个DSDT文件夹:
|
||||
sudo su
|
||||
mkdir -p /home/dsdt
|
||||
|
||||
### 随后将系统的DSDT表读取到里面,并安装acpica-tools:
|
||||
随后将系统的DSDT表读取到里面,并安装acpica-tools:
|
||||
cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
|
||||
apt install acpica-tools
|
||||
iasl -d dsdt.dat
|
||||
|
||||
### 进入vim编辑DSDT表,没有vim的先安装一个:
|
||||
进入vim编辑DSDT表,没有vim的先安装一个:
|
||||
apt install vim
|
||||
vim dsdt.dsl
|
||||
|
||||
### 搜索并替换 Device(PS2K) 下面的
|
||||
搜索并替换 Device(PS2K) 下面的
|
||||
IRQ (Edge, ActiveLow, Shared, )
|
||||
为
|
||||
IRQ (Edge, ActiveHigh, Shared, )
|
||||
|
||||
### vim搜索的方法为在命令模式下按下“/”,键入搜索字符并回车即可,按“n”跳转到下一处,“N”跳转到前一处,按: wq保存:
|
||||
vim搜索的方法为在命令模式下按下“/”,键入搜索字符并回车即可,按“n”跳转到下一处,“N”跳转到前一处,按: wq保存:
|
||||
|
||||
### 随后搜索DefinitionBlock,将其步进值增加一(十六进制),即更改
|
||||
随后搜索DefinitionBlock,将其步进值增加一(十六进制),即更改
|
||||
DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I", 0x01072009)
|
||||
为
|
||||
DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I", 0x0107200A)
|
||||
|
||||
### 关闭DSDT,并设置其优先启动
|
||||
关闭DSDT,并设置其优先启动
|
||||
iasl dsdt.dsl
|
||||
mkdir -p kernel/firmware/acpi
|
||||
cp dsdt.aml kernel/firmware/acpi/
|
||||
@ -53,10 +53,10 @@ find kernel | cpio -H newc --create > acpi_override
|
||||
cp acpi_override /boot/acpi_override
|
||||
echo "GRUB_EARLY_INITRD_LINUX_CUSTOM=\"acpi_override\"" >>/etc/default/grub
|
||||
|
||||
### 更新并重启:
|
||||
更新并重启:
|
||||
update-grub2
|
||||
reboot
|
||||
```
|
||||
```
|
||||
|
||||
不出意外,重启后键盘即可使用,若系统不同将 apt 替换即可。
|
||||
|
||||
@ -70,7 +70,7 @@ reboot
|
||||
|
||||
### 修复wifi驱动
|
||||
|
||||
```shell
|
||||
```
|
||||
# 内核小于5.18的
|
||||
git clone https://github.com/HRex39/rtl8852be.git
|
||||
# 内核大于等于5.18的
|
||||
@ -84,7 +84,7 @@ sudo modprobe 8852be
|
||||
|
||||
### 修复蓝牙驱动
|
||||
|
||||
```shell
|
||||
```
|
||||
# 内核=5.15
|
||||
git clone https://github.com/HRex39/rtl8852be_bt.git -b 5.15
|
||||
# 内核=5.18
|
||||
|
@ -81,6 +81,26 @@
|
||||
|
||||
|
||||
<ul><li class="post-list">
|
||||
<a href="https://blog.dich.ink/docker-learn-4/">
|
||||
<span class="post-date">2024-03-28</span>
|
||||
:: <span class="post-list-title">Docker学习笔记(四)</span></a>
|
||||
|
||||
<span class="post-tags-inline">
|
||||
::
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
</li>
|
||||
<li class="post-list">
|
||||
<a href="https://blog.dich.ink/docker-learn-5/">
|
||||
<span class="post-date">2024-03-28</span>
|
||||
:: <span class="post-list-title">Docker学习笔记(五)</span></a>
|
||||
|
||||
<span class="post-tags-inline">
|
||||
::
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
</li>
|
||||
<li class="post-list">
|
||||
<a href="https://blog.dich.ink/docker-learn-3/">
|
||||
<span class="post-date">2024-03-27</span>
|
||||
:: <span class="post-list-title">Docker学习笔记(三)</span></a>
|
||||
|
@ -5,8 +5,48 @@
|
||||
<link rel="self" type="application/atom+xml" href="https://blog.dich.ink/atom.xml"/>
|
||||
<link rel="alternate" type="text/html" href="https://blog.dich.ink"/>
|
||||
<generator uri="https://www.getzola.org/">Zola</generator>
|
||||
<updated>2024-03-27T00:00:00+00:00</updated>
|
||||
<updated>2024-03-28T00:00:00+00:00</updated>
|
||||
<id>https://blog.dich.ink/atom.xml</id>
|
||||
<entry xml:lang="en">
|
||||
<title>Docker学习笔记(四)</title>
|
||||
<published>2024-03-28T00:00:00+00:00</published>
|
||||
<updated>2024-03-28T00:00:00+00:00</updated>
|
||||
|
||||
<author>
|
||||
<name>
|
||||
|
||||
Unknown
|
||||
|
||||
</name>
|
||||
</author>
|
||||
|
||||
<link rel="alternate" type="text/html" href="https://blog.dich.ink/docker-learn-4/"/>
|
||||
<id>https://blog.dich.ink/docker-learn-4/</id>
|
||||
|
||||
<summary type="html"><p>前言 Docker 使您能够运行与主机操作系统分离的隔离代码段(包括应用程序及其依赖项)的容器。默认情况下,容器是临时的,这意味着容器中存储的任何数据一旦终止就会丢失。为了克服这个问题并跨容器生命周期保留数据,Docker 提供了多种数据持久化方法。</p>
|
||||
</summary>
|
||||
|
||||
</entry>
|
||||
<entry xml:lang="en">
|
||||
<title>Docker学习笔记(五)</title>
|
||||
<published>2024-03-28T00:00:00+00:00</published>
|
||||
<updated>2024-03-28T00:00:00+00:00</updated>
|
||||
|
||||
<author>
|
||||
<name>
|
||||
|
||||
Unknown
|
||||
|
||||
</name>
|
||||
</author>
|
||||
|
||||
<link rel="alternate" type="text/html" href="https://blog.dich.ink/docker-learn-5/"/>
|
||||
<id>https://blog.dich.ink/docker-learn-5/</id>
|
||||
|
||||
<summary type="html"><p>前言 第三方映像是预构建的 Docker 容器映像,可在 Docker Hub 或其他容器注册表上使用。这些映像由个人或组织创建和维护,可用作容器化应用程序的起点。</p>
|
||||
</summary>
|
||||
|
||||
</entry>
|
||||
<entry xml:lang="en">
|
||||
<title>Docker学习笔记(三)</title>
|
||||
<published>2024-03-27T00:00:00+00:00</published>
|
||||
|
@ -216,6 +216,13 @@
|
||||
</a>
|
||||
</span>
|
||||
|
||||
|
||||
<span class="button next">
|
||||
<a href="https://blog.dich.ink/docker-learn-5/">
|
||||
<span class="button__text">Docker学习笔记(五)</span>
|
||||
<span class="button__icon">→</span>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
187
public/docker-learn-4/index.html
Normal file
187
public/docker-learn-4/index.html
Normal file
@ -0,0 +1,187 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Dich'blog</title>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5">
|
||||
<meta name="robots" content="noodp"/>
|
||||
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/style.css">
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/color/blue.css">
|
||||
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/color/background_dark.css">
|
||||
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/font-hack-subset.css">
|
||||
|
||||
<meta name="description" content="">
|
||||
|
||||
<meta property="og:description" content="">
|
||||
<meta property="og:title" content="Dich'blog">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://blog.dich.ink/docker-learn-4/">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:description" content="">
|
||||
<meta name="twitter:title" content="Dich'blog">
|
||||
<meta property="twitter:domain" content="blog.dich.ink">
|
||||
<meta property="twitter:url" content="https://blog.dich.ink/docker-learn-4/">
|
||||
|
||||
|
||||
<link rel="alternate" type="application/atom+xml" title="RSS" href="https://blog.dich.ink/atom.xml">
|
||||
|
||||
</head>
|
||||
|
||||
<body class="">
|
||||
<div class="container">
|
||||
|
||||
<header class="header">
|
||||
<div class="header__inner">
|
||||
<div class="header__logo">
|
||||
|
||||
<a href="https://blog.dich.ink" style="text-decoration: none;">
|
||||
<div class="logo">
|
||||
|
||||
Dich'blog
|
||||
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<nav class="menu">
|
||||
<ul class="menu__inner">
|
||||
<li class="active"><a href="https://blog.dich.ink">blog</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/tags">tags</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/archive">archive</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/about">about me</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/links">links</a></li>
|
||||
|
||||
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div class="content">
|
||||
|
||||
<div class="post">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/docker-learn-4/">Docker学习笔记(四)</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-28
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 Docker 使您能够运行与主机操作系统分离的隔离代码段(包括应用程序及其依赖项)的容器。默认情况下,容器是临时的,这意味着容器中存储的任何数据一旦终止就会丢失。为了克服这个问题并跨容器生命周期保留数据,Docker 提供了多种数据持久化方法。</p>
|
||||
<span id="continue-reading"></span><h2 id="docker-zhong-de-shu-ju-chi-jiu-hua"><strong>Docker 中的数据持久化</strong></h2>
|
||||
<p>在本节中,我们将介绍:</p>
|
||||
<ul>
|
||||
<li>Docker Volumes Docker 卷</li>
|
||||
<li>Bind Mounts 绑定挂载</li>
|
||||
<li>Docker tmpfs mounts Docker tmpfs 挂载</li>
|
||||
</ul>
|
||||
<h2 id="docker-volumes-docker-juan"><strong>Docker Volumes Docker 卷</strong></h2>
|
||||
<p>Docker 卷是保存 Docker 容器生成和使用的数据的首选方法。卷是 Docker 用于存储文件和目录的主机上的一个目录,这些文件和目录的寿命可能超过容器的生命周期。Docker 卷可以在容器之间共享,它们提供了各种好处,例如轻松备份和数据迁移。</p>
|
||||
<p>要创建卷,请使用以下命令:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker volume create volume_name
|
||||
</span></code></pre>
|
||||
<p>要使用卷,请在 docker run 命令中添加 --volume(或 -v)标志:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run --volume volume_name:/container/path image_name
|
||||
</span></code></pre>
|
||||
<p><strong>在容器中挂载卷</strong>
|
||||
若要将卷装载到容器,需要在运行容器时使用 -v 或 --mount 标志。下面是一个示例:</p>
|
||||
<p>Using -v flag: 使用 -v 标志:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run -d -v my-volume:/data your-image
|
||||
</span></code></pre>
|
||||
<p>Using --mount flag: 使用 --mount 标志:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run -d --mount source=my-volume,destination=/data your-image
|
||||
</span></code></pre>
|
||||
<p>在上面的两个示例中,my-volume 是我们之前创建的卷的名称,/data 是容器内将挂载卷的路径。</p>
|
||||
<p><strong>在容器之间共享卷</strong>
|
||||
要在多个容器之间共享卷,只需在多个容器上挂载相同的卷即可。下面介绍如何在运行不同映像的两个容器之间共享 my-volume:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run -d -v my-volume:/data1 image1
|
||||
</span><span>docker run -d -v my-volume:/data2 image2
|
||||
</span></code></pre>
|
||||
<p>在此示例中,image1 和 image2 将有权访问存储在 my-volume 中的相同数据。</p>
|
||||
<p><strong>Removing a Volume 删除卷</strong>
|
||||
要删除卷,可以使用 docker volume rm 命令,后跟卷名称:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker volume rm my-volume
|
||||
</span></code></pre>
|
||||
<h2 id="bind-mounts-bang-ding-gua-zai"><strong>Bind Mounts 绑定挂载</strong></h2>
|
||||
<p>绑定挂载允许您将主机上的任何目录映射到容器中的目录。此方法在需要修改主机系统上的文件的开发环境中非常有用,并且这些更改应立即在容器中可用。</p>
|
||||
<p>与卷相比,绑定挂载的功能有限。使用绑定挂载时,主机上的文件或目录将装载到容器中。文件或目录由其在主机上的绝对路径引用。相比之下,当您使用卷时,会在主机上的 Docker 存储目录中创建一个新目录,Docker 管理该目录的内容。</p>
|
||||
<p>文件或目录不需要已存在于 Docker 主机上。如果尚不存在,则按需创建。绑定挂载的性能非常高,但它们依赖于主机的文件系统,该文件系统具有特定的可用目录结构。</p>
|
||||
<p>要创建绑定挂载,请在 docker run 命令中使用带有 type=bind 的 --mount 标志:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run --mount type=bind,src=/host/path,dst=/container/path image_name
|
||||
</span></code></pre>
|
||||
<h2 id="docker-tmpfs-mounts-docker-tmpfs-gua-zai"><strong>Docker tmpfs mounts Docker tmpfs 挂载</strong></h2>
|
||||
<p>Docker tmpfs 挂载允许您直接在容器的内存中创建临时文件存储。存储在 tmpfs 挂载中的数据快速且安全,但一旦容器终止,数据就会丢失。
|
||||
要使用 tmpfs 挂载,请在 docker run 命令中添加 --tmpfs 标志:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run --tmpfs /container/path image_name
|
||||
</span></code></pre>
|
||||
<p>通过采用这些方法,可以确保跨容器生命周期的数据持久性,从而增强 Docker 容器的实用性和灵活性。请记住选择最适合您的用例的方法,无论是首选的 Docker 卷、方便的绑定挂载,还是快速安全的 tmpfs 挂载。</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="pagination">
|
||||
<div class="pagination__title">
|
||||
<span class="pagination__title-h">Thanks for reading! Read other posts?</span>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="pagination__buttons">
|
||||
<span class="button previous">
|
||||
<a href="https://blog.dich.ink/docker-learn-5/">
|
||||
<span class="button__icon">←</span>
|
||||
<span class="button__text">Docker学习笔记(五)</span>
|
||||
</a>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner">
|
||||
<div class="copyright">
|
||||
<span>©
|
||||
2024
|
||||
Dichgrem</span>
|
||||
<span class="copyright-theme">
|
||||
<span class="copyright-theme-sep">:: </span>
|
||||
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script async defer src="http://173.249.208.93:12345/tracker.js" data-website-id="cluckwxwg0005qf4n55m737sz"></script>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
229
public/docker-learn-5/index.html
Normal file
229
public/docker-learn-5/index.html
Normal file
@ -0,0 +1,229 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Dich'blog</title>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5">
|
||||
<meta name="robots" content="noodp"/>
|
||||
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/style.css">
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/color/blue.css">
|
||||
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/color/background_dark.css">
|
||||
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/font-hack-subset.css">
|
||||
|
||||
<meta name="description" content="">
|
||||
|
||||
<meta property="og:description" content="">
|
||||
<meta property="og:title" content="Dich'blog">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://blog.dich.ink/docker-learn-5/">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:description" content="">
|
||||
<meta name="twitter:title" content="Dich'blog">
|
||||
<meta property="twitter:domain" content="blog.dich.ink">
|
||||
<meta property="twitter:url" content="https://blog.dich.ink/docker-learn-5/">
|
||||
|
||||
|
||||
<link rel="alternate" type="application/atom+xml" title="RSS" href="https://blog.dich.ink/atom.xml">
|
||||
|
||||
</head>
|
||||
|
||||
<body class="">
|
||||
<div class="container">
|
||||
|
||||
<header class="header">
|
||||
<div class="header__inner">
|
||||
<div class="header__logo">
|
||||
|
||||
<a href="https://blog.dich.ink" style="text-decoration: none;">
|
||||
<div class="logo">
|
||||
|
||||
Dich'blog
|
||||
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<nav class="menu">
|
||||
<ul class="menu__inner">
|
||||
<li class="active"><a href="https://blog.dich.ink">blog</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/tags">tags</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/archive">archive</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/about">about me</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/links">links</a></li>
|
||||
|
||||
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div class="content">
|
||||
|
||||
<div class="post">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/docker-learn-5/">Docker学习笔记(五)</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-28
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 第三方映像是预构建的 Docker 容器映像,可在 Docker Hub 或其他容器注册表上使用。这些映像由个人或组织创建和维护,可用作容器化应用程序的起点。</p>
|
||||
<span id="continue-reading"></span><h2 id="cha-zhao-di-san-fang-jing-xiang"><strong>查找第三方镜像</strong></h2>
|
||||
<p>Docker Hub 是最大、最受欢迎的容器镜像注册表,包含官方和社区维护的镜像。您可以根据要使用的名称或技术搜索镜像。</p>
|
||||
<p>例如:如果你正在寻找 Node.js 映像,你可以在 Docker Hub 上搜索“Node”,你会找到官方Node.js映像以及许多其他社区维护的映像。</p>
|
||||
<p><strong>在 Dockerfile 中使用映像</strong>
|
||||
要在 Dockerfile 中使用第三方映像,只需使用 FROM 指令将映像名称设置为基础映像即可。下面是使用官方Node.js镜像的示例:</p>
|
||||
<p>FROM node:14</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span># The rest of your Dockerfile...
|
||||
</span></code></pre>
|
||||
<p><strong>注意安全问题</strong>
|
||||
请记住,第三方映像可能存在安全漏洞或配置错误。在生产中使用镜像之前,请务必验证镜像的来源并检查其信誉。更喜欢使用官方镜像或维护良好的社区镜像。</p>
|
||||
<p><strong>维护您的镜像</strong>
|
||||
使用第三方映像时,必须保持更新,以包含最新的安全更新和依赖项更改。定期检查基础映像中的更新,并相应地重新生成应用程序容器。</p>
|
||||
<h2 id="shi-yong-di-san-fang-ying-xiang-shu-ju-ku"><strong>使用第三方映像:数据库</strong></h2>
|
||||
<p>在 Docker 容器中运行数据库有助于简化开发过程并简化部署。Docker Hub 为 MySQL、PostgreSQL 和 MongoDB 等流行数据库提供了大量预制映像。</p>
|
||||
<p><strong>示例:使用 MySQL 镜像</strong>
|
||||
要使用 MySQL 数据库,请在 Docker Hub 上搜索官方镜像:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker search mysql
|
||||
</span></code></pre>
|
||||
<p>找到官方图片,然后拉动它:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker pull mysql
|
||||
</span></code></pre>
|
||||
<p>现在,您可以运行 MySQL 容器。指定所需的环境变量,例如 MYSQL_ROOT_PASSWORD,并选择性地将容器的端口映射到主机:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql
|
||||
</span></code></pre>
|
||||
<p>此命令创建一个名为 some-mysql 的新容器,将 root 密码设置为 my-secret-pw,并将主机上的端口 3306 映射到容器上的端口 3306。</p>
|
||||
<p><strong>示例:使用 PostgreSQL 镜像</strong>
|
||||
对于 PostgreSQL,请执行与上述步骤类似的步骤。首先,搜索官方图片:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker search postgres
|
||||
</span></code></pre>
|
||||
<p>Pull the image: 拉取图像:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker pull postgres
|
||||
</span></code></pre>
|
||||
<p>运行 PostgreSQL 容器,指定环境变量,例如 POSTGRES_PASSWORD:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run --name some-postgres -e POSTGRES_PASSWORD=my-secret-pw -p 5432:5432 -d postgres
|
||||
</span></code></pre>
|
||||
<h2 id="shi-yong-docker-de-jiao-hu-shi-ce-shi-huan-jing"><strong>使用 Docker 的交互式测试环境</strong></h2>
|
||||
<p>Docker 允许您创建隔离的一次性环境,这些环境可以在完成测试后删除。这使得使用第三方软件、测试不同的依赖项或版本以及快速试验变得更加容易,而不会损坏本地设置。</p>
|
||||
<p><strong>使用 Docker 创建交互式测试环境</strong>
|
||||
为了演示如何设置交互式测试环境,让我们以 Python 编程语言为例。我们将使用 Docker Hub 上提供的公共 Python 映像。</p>
|
||||
<p>要使用 Python 映像启动交互式测试环境,只需运行以下命令:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run -it --rm python
|
||||
</span></code></pre>
|
||||
<p>在这里,-it 标志确保使用 tty 在交互模式下运行容器,而 --rm 标志将在容器停止后将其删除。</p>
|
||||
<p>现在,您应该位于容器内的交互式 Python shell 中。您可以像往常一样使用 pip 执行任何 Python 命令或安装其他软件包。</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>print("Hello, Docker!")
|
||||
</span></code></pre>
|
||||
<p>完成交互式会话后,只需键入 exit() 或按 CTRL+D 即可退出容器。容器将按照 --rm 标志的指定自动删除。</p>
|
||||
<p><strong>交互式测试环境的更多示例</strong>
|
||||
可以使用 Docker Hub 上提供的多个第三方映像,并创建各种交互式环境,例如:</p>
|
||||
<p>Node.js:若要启动交互式 Node.js shell,可以使用以下命令:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run -it --rm node
|
||||
</span></code></pre>
|
||||
<p>Ruby:要启动交互式 Ruby shell,您可以使用以下命令:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run -it --rm ruby
|
||||
</span></code></pre>
|
||||
<p>MySQL:要启动临时 MySQL 实例,您可以使用以下命令:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker run -it --rm --name temp-mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 mysql
|
||||
</span></code></pre>
|
||||
<p>这将启动一个临时的MySQL服务器,该服务器可以通过主机端口3306访问。一旦容器停止,它将被移除。</p>
|
||||
<p>随意探索和测试各种软件,而不必担心损坏本地计算机或安装不必要的依赖项。将 Docker 用于交互式测试环境可以让您在处理各种第三方软件时更高效、更干净地工作。</p>
|
||||
<h2 id="ming-ling-xing-shi-yong-cheng-xu"><strong>命令行实用程序</strong></h2>
|
||||
<p>Docker 映像可以包括命令行实用程序或我们可以在容器内运行的独立应用程序。这在使用第三方映像时非常有用,因为我们想要使用的工具已经打包好,无需任何安装或配置即可运行。</p>
|
||||
<p><strong>BusyBox</strong>
|
||||
BusyBox 是一个小型 (1-2 Mb) 且简单的命令行应用程序,它提供了大量常用的 Unix 实用程序,例如 awk、grep、vi 等。要在 Docker 容器中运行 BusyBox,只需拉取映像并使用 Docker 运行它:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker pull busybox
|
||||
</span><span>docker run -it busybox /bin/sh
|
||||
</span></code></pre>
|
||||
<p>进入容器后,您可以开始运行各种 BusyBox 实用程序,就像在常规命令行上一样。</p>
|
||||
<p><strong>cURL</strong>
|
||||
cURL 是一个众所周知的命令行工具,可用于使用各种网络协议传输数据。它通常用于测试 API 或从 Internet 下载文件。若要在 Docker 容器中使用 cURL,可以使用 Docker Hub 上提供的官方 cURL 映像:</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>docker pull curlimages/curl
|
||||
</span><span>docker run --rm curlimages/curl https://example.com
|
||||
</span></code></pre>
|
||||
<p>在此示例中,--rm 标志用于在命令运行完毕后删除容器。当您只需要运行单个命令,然后清理容器时,这很有用。</p>
|
||||
<p><strong>其他命令行实用程序</strong>
|
||||
Docker 映像中提供了许多命令行实用程序,包括但不限于:</p>
|
||||
<ul>
|
||||
<li>wget:用于从 Web 上非交互式下载文件的免费实用程序。</li>
|
||||
<li>imagemagick:用于图像处理和转换的强大软件套件。</li>
|
||||
<li>jq:轻量级且灵活的命令行 JSON 处理器。</li>
|
||||
</ul>
|
||||
<p>若要使用这些工具中的任何一个,可以在 Docker Hub 上搜索它们,并按照其各自存储库中提供的说明进行操作。</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="pagination">
|
||||
<div class="pagination__title">
|
||||
<span class="pagination__title-h">Thanks for reading! Read other posts?</span>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="pagination__buttons">
|
||||
<span class="button previous">
|
||||
<a href="https://blog.dich.ink/docker-learn-3/">
|
||||
<span class="button__icon">←</span>
|
||||
<span class="button__text">Docker学习笔记(三)</span>
|
||||
</a>
|
||||
</span>
|
||||
|
||||
|
||||
<span class="button next">
|
||||
<a href="https://blog.dich.ink/docker-learn-4/">
|
||||
<span class="button__text">Docker学习笔记(四)</span>
|
||||
<span class="button__icon">→</span>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner">
|
||||
<div class="copyright">
|
||||
<span>©
|
||||
2024
|
||||
Dichgrem</span>
|
||||
<span class="copyright-theme">
|
||||
<span class="copyright-theme-sep">:: </span>
|
||||
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script async defer src="http://173.249.208.93:12345/tracker.js" data-website-id="cluckwxwg0005qf4n55m737sz"></script>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -78,6 +78,74 @@
|
||||
<div class="posts">
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/docker-learn-4/">Docker学习笔记(四)</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-28
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 Docker 使您能够运行与主机操作系统分离的隔离代码段(包括应用程序及其依赖项)的容器。默认情况下,容器是临时的,这意味着容器中存储的任何数据一旦终止就会丢失。为了克服这个问题并跨容器生命周期保留数据,Docker 提供了多种数据持久化方法。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/docker-learn-4/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/docker-learn-5/">Docker学习笔记(五)</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-28
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 第三方映像是预构建的 Docker 容器映像,可在 Docker Hub 或其他容器注册表上使用。这些映像由个人或组织创建和维护,可用作容器化应用程序的起点。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/docker-learn-5/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/docker-learn-3/">Docker学习笔记(三)</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
@ -142,74 +210,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/docker-learn-1/">Docker学习笔记(一)</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-25
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 Docker 是一个开源平台,通过将应用程序隔离到轻量级、可移植的容器中,自动执行应用程序的部署、扩展和管理。容器是独立的可执行单元,它封装了应用程序在各种环境中一致运行所需的所有必要依赖项、库和配置文件。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/docker-learn-1/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/junk-cleanup/">垃圾清理的艺术</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-19
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/junk-cleanup/">#Junk-cleanup</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 在从前的机械硬盘时代,由于硬盘空间小,且没有时常清理垃圾文件,常常导致硬盘空间严重不足;特别是在以 Windows 平台为代表的 C/D盘 体系下。那么,我们常说的垃圾清理,释放硬盘空间,到底是在清理什么?哪些文件可以被清理?</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/junk-cleanup/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<div class="pagination__buttons">
|
||||
|
@ -100,32 +100,32 @@
|
||||
<p>根据机革一贯的“特性”,作者猜测是因为 BIOS 或者 ACPI 出现了故障,随后在翻阅论坛时发现是由于锐龙笔记本键盘中断描述与其他键盘不同:其为边缘敏 感、低电平有效的;而蛟龙16K机器键盘实际是边缘敏感、高电平有效(Edge ActiveHigh)。结合 linux 的特性,读取到边缘敏感、低电平有效的中断时,会认为 BIOS 有Bug,会直接当成边缘敏感、高电平有效进行处理。因此,键盘就没有了响应。</p>
|
||||
<h2 id="san-jie-jue-fang-fa">三.解决方法</h2>
|
||||
<p>既然是高低电平表述的错误,那么我们只需建立DSDT 表副本,将其修改,然后让它优先启动,从而让键盘配置正常;另外还存在 BIOS 修复,内核编译的方法,比较复杂,这里不做说明。</p>
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>### 首先建立一个DSDT文件夹:
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>首先建立一个DSDT文件夹:
|
||||
</span><span>sudo su
|
||||
</span><span>mkdir -p /home/dsdt
|
||||
</span><span>
|
||||
</span><span>### 随后将系统的DSDT表读取到里面,并安装acpica-tools:
|
||||
</span><span>随后将系统的DSDT表读取到里面,并安装acpica-tools:
|
||||
</span><span>cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
|
||||
</span><span>apt install acpica-tools
|
||||
</span><span>iasl -d dsdt.dat
|
||||
</span><span>
|
||||
</span><span>### 进入vim编辑DSDT表,没有vim的先安装一个:
|
||||
</span><span>进入vim编辑DSDT表,没有vim的先安装一个:
|
||||
</span><span>apt install vim
|
||||
</span><span>vim dsdt.dsl
|
||||
</span><span>
|
||||
</span><span>### 搜索并替换 Device(PS2K) 下面的
|
||||
</span><span>搜索并替换 Device(PS2K) 下面的
|
||||
</span><span>IRQ (Edge, ActiveLow, Shared, )
|
||||
</span><span>为
|
||||
</span><span>IRQ (Edge, ActiveHigh, Shared, )
|
||||
</span><span>
|
||||
</span><span>### vim搜索的方法为在命令模式下按下“/”,键入搜索字符并回车即可,按“n”跳转到下一处,“N”跳转到前一处,按: wq保存:
|
||||
</span><span>vim搜索的方法为在命令模式下按下“/”,键入搜索字符并回车即可,按“n”跳转到下一处,“N”跳转到前一处,按: wq保存:
|
||||
</span><span>
|
||||
</span><span>### 随后搜索DefinitionBlock,将其步进值增加一(十六进制),即更改
|
||||
</span><span>随后搜索DefinitionBlock,将其步进值增加一(十六进制),即更改
|
||||
</span><span>DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I", 0x01072009)
|
||||
</span><span>为
|
||||
</span><span>DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I", 0x0107200A)
|
||||
</span><span>
|
||||
</span><span>### 关闭DSDT,并设置其优先启动
|
||||
</span><span>关闭DSDT,并设置其优先启动
|
||||
</span><span>iasl dsdt.dsl
|
||||
</span><span>mkdir -p kernel/firmware/acpi
|
||||
</span><span>cp dsdt.aml kernel/firmware/acpi/
|
||||
@ -133,7 +133,7 @@
|
||||
</span><span>cp acpi_override /boot/acpi_override
|
||||
</span><span>echo "GRUB_EARLY_INITRD_LINUX_CUSTOM=\"acpi_override\"" >>/etc/default/grub
|
||||
</span><span>
|
||||
</span><span>### 更新并重启:
|
||||
</span><span>更新并重启:
|
||||
</span><span>update-grub2
|
||||
</span><span>reboot
|
||||
</span></code></pre>
|
||||
@ -147,7 +147,7 @@
|
||||
<li>电源管理,无论怎么调,笔记本都发热很严重。</li>
|
||||
</ul>
|
||||
<h3 id="xiu-fu-wifiqu-dong">修复wifi驱动</h3>
|
||||
<pre data-lang="shell" style="background-color:#151515;color:#e8e8d3;" class="language-shell "><code class="language-shell" data-lang="shell"><span># 内核小于5.18的
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span># 内核小于5.18的
|
||||
</span><span>git clone https://github.com/HRex39/rtl8852be.git
|
||||
</span><span># 内核大于等于5.18的
|
||||
</span><span>git clone https://github.com/HRex39/rtl8852be.git -b dev
|
||||
@ -158,7 +158,7 @@
|
||||
</span><span>sudo modprobe 8852be
|
||||
</span></code></pre>
|
||||
<h3 id="xiu-fu-lan-ya-qu-dong">修复蓝牙驱动</h3>
|
||||
<pre data-lang="shell" style="background-color:#151515;color:#e8e8d3;" class="language-shell "><code class="language-shell" data-lang="shell"><span># 内核=5.15
|
||||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span># 内核=5.15
|
||||
</span><span>git clone https://github.com/HRex39/rtl8852be_bt.git -b 5.15
|
||||
</span><span># 内核=5.18
|
||||
</span><span>git clone https://github.com/HRex39/rtl8852be_bt.git -b 5.18
|
||||
|
@ -78,6 +78,74 @@
|
||||
<div class="posts">
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/docker-learn-1/">Docker学习笔记(一)</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-25
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 Docker 是一个开源平台,通过将应用程序隔离到轻量级、可移植的容器中,自动执行应用程序的部署、扩展和管理。容器是独立的可执行单元,它封装了应用程序在各种环境中一致运行所需的所有必要依赖项、库和配置文件。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/docker-learn-1/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/junk-cleanup/">垃圾清理的艺术</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-19
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/junk-cleanup/">#Junk-cleanup</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 在从前的机械硬盘时代,由于硬盘空间小,且没有时常清理垃圾文件,常常导致硬盘空间严重不足;特别是在以 Windows 平台为代表的 C/D盘 体系下。那么,我们常说的垃圾清理,释放硬盘空间,到底是在清理什么?哪些文件可以被清理?</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/junk-cleanup/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/git/">Git使用简明手册</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
@ -144,75 +212,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/terminal-console-shell/">Terminal,Console and Shell</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-12
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/linux/">#linux</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 在linux的学习过程中,我们常常遇到诸如 Terminal,Console,bash,zsh,shell,tty 等概念,这些概念常常被混淆,似乎都和命令行相关。本文从历史角度出发介绍它们的前世今生。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/terminal-console-shell/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/zola-blog/">Personal Blog</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-12
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/blog/">#Blog</a>
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/zola/">#Zola</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 个人博客的搭建有诸多框架的选择。本文以Zola框架为例,介绍如何部署该静态站点,并将其托管到Paas平台上。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/zola-blog/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<div class="pagination__buttons">
|
||||
|
@ -78,6 +78,75 @@
|
||||
<div class="posts">
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/terminal-console-shell/">Terminal,Console and Shell</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-12
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/linux/">#linux</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 在linux的学习过程中,我们常常遇到诸如 Terminal,Console,bash,zsh,shell,tty 等概念,这些概念常常被混淆,似乎都和命令行相关。本文从历史角度出发介绍它们的前世今生。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/terminal-console-shell/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/zola-blog/">Personal Blog</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-03-12
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/blog/">#Blog</a>
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/zola/">#Zola</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 个人博客的搭建有诸多框架的选择。本文以Zola框架为例,介绍如何部署该静态站点,并将其托管到Paas平台上。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/zola-blog/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/opensourcesoftware-licenses/">开源软件与协议</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
@ -145,75 +214,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/local-isps-to-cn-report/">MJJ入门:国内至国际骨干ISP线路整理</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-02-10
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/isp/">#ISP</a>
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/net/">#Net</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 本文主要探讨的是IPv4网络,国际出口线路的质量分析以及各大ISP的介绍。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/local-isps-to-cn-report/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/podcast-use/">播客收听指北</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-01-20
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/podcast/">#Podcast</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 讲起播客,许多人第一反应是喜马拉雅,但其实播客的订阅和收听有许多种方式。本文带你了解订阅播客的各种方式,并告诉你市面上有哪些不错的播客客户端可供选择。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/podcast-use/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<div class="pagination__buttons">
|
||||
|
@ -78,6 +78,75 @@
|
||||
<div class="posts">
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/local-isps-to-cn-report/">MJJ入门:国内至国际骨干ISP线路整理</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-02-10
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/isp/">#ISP</a>
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/net/">#Net</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 本文主要探讨的是IPv4网络,国际出口线路的质量分析以及各大ISP的介绍。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/local-isps-to-cn-report/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/podcast-use/">播客收听指北</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-01-20
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/podcast/">#Podcast</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 讲起播客,许多人第一反应是喜马拉雅,但其实播客的订阅和收听有许多种方式。本文带你了解订阅播客的各种方式,并告诉你市面上有哪些不错的播客客户端可供选择。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/podcast-use/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/rss-read/">RSS阅读指南</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
@ -142,75 +211,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/searching/">搜索引擎与爬虫</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-01-07
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/searching/">#Searching</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 搜索引擎原理可以简单分为三个过程:爬行,索引,排名。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/searching/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/open-source-cross-platform-softs/">常用跨平台开源软件</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2023-12-25
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/open-source/">#Open-Source</a>
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/soft/">#soft</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 本文旨在介绍一些常用的跨平台开源软件,涵盖了多个领域,包括办公、开发工具、多媒体处理等。这些软件不仅在功能上具有优势,而且秉承着开放、自由的精神,是上上之选。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/open-source-cross-platform-softs/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<div class="pagination__buttons">
|
||||
|
@ -78,6 +78,75 @@
|
||||
<div class="posts">
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/searching/">搜索引擎与爬虫</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2024-01-07
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/searching/">#Searching</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 搜索引擎原理可以简单分为三个过程:爬行,索引,排名。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/searching/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/open-source-cross-platform-softs/">常用跨平台开源软件</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2023-12-25
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/open-source/">#Open-Source</a>
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/soft/">#soft</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 本文旨在介绍一些常用的跨平台开源软件,涵盖了多个领域,包括办公、开发工具、多媒体处理等。这些软件不仅在功能上具有优势,而且秉承着开放、自由的精神,是上上之选。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/open-source-cross-platform-softs/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/about-working/">应届生工作指南</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
@ -143,74 +212,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/mechrev-keyboard/">机械革命键盘失灵拯救记</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2023-09-04
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/keyboard/">#keyboard</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 机械革命作为一款极高性价比的笔记本,其优惠的力度和问题不断的故障让玩家们爱恨交织;作者在其上安装 Linux 时遇到了键盘失灵的问题,为了避免更多人踩坑,故写本文。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/mechrev-keyboard/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/windows-secondary-menu-recovery-and-settings-boot-startup/">Windows二级菜单恢复及设置开机启动及彻底关闭更新</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2023-08-26
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/windows11/">#Windows11</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 Windows操作系统作为全球最为普及的桌面操作系统之一,其用户界面的设计非常经典;而win11中的二级菜单令人感到无语,本文教你回到一级菜单。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/windows-secondary-menu-recovery-and-settings-boot-startup/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<div class="pagination__buttons">
|
||||
|
@ -78,6 +78,74 @@
|
||||
<div class="posts">
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/mechrev-keyboard/">机械革命键盘失灵拯救记</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2023-09-04
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/keyboard/">#keyboard</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 机械革命作为一款极高性价比的笔记本,其优惠的力度和问题不断的故障让玩家们爱恨交织;作者在其上安装 Linux 时遇到了键盘失灵的问题,为了避免更多人踩坑,故写本文。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/mechrev-keyboard/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/windows-secondary-menu-recovery-and-settings-boot-startup/">Windows二级菜单恢复及设置开机启动及彻底关闭更新</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2023-08-26
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/windows11/">#Windows11</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 Windows操作系统作为全球最为普及的桌面操作系统之一,其用户界面的设计非常经典;而win11中的二级菜单令人感到无语,本文教你回到一级菜单。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/windows-secondary-menu-recovery-and-settings-boot-startup/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/accurate-pronunciation/">常见发音错误术语集合</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
@ -142,40 +210,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/kgnl/">快过年了笑话大全</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2023-08-23
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/kgnl/">#KGNL</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 快过年了系列笑话常常于过年期间在各大平台传播,反应了各技术人士的爱好与工作。本文收集了24个该系列的笑话,欢迎补充。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/kgnl/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<div class="pagination__buttons">
|
||||
@ -185,6 +219,13 @@
|
||||
<span class="button__text">Newer posts</span>
|
||||
</a>
|
||||
</span>
|
||||
|
||||
<span class="button next">
|
||||
<a href="https://blog.dich.ink/page/7/">
|
||||
<span class="button__text">Older posts</span>
|
||||
<span class="button__icon">→</span>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
145
public/page/7/index.html
Normal file
145
public/page/7/index.html
Normal file
@ -0,0 +1,145 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Dich'blog</title>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5">
|
||||
<meta name="robots" content="noodp"/>
|
||||
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/style.css">
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/color/blue.css">
|
||||
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/color/background_dark.css">
|
||||
|
||||
<link rel="stylesheet" href="https://blog.dich.ink/font-hack-subset.css">
|
||||
|
||||
<meta name="description" content="用电子罗盘,转赛博核桃,勘电磁风水,寻网络龙脉">
|
||||
|
||||
<meta property="og:description" content="用电子罗盘,转赛博核桃,勘电磁风水,寻网络龙脉">
|
||||
<meta property="og:title" content="Dich'blog">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://blog.dich.ink/">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:description" content="用电子罗盘,转赛博核桃,勘电磁风水,寻网络龙脉">
|
||||
<meta name="twitter:title" content="Dich'blog">
|
||||
<meta property="twitter:domain" content="blog.dich.ink">
|
||||
<meta property="twitter:url" content="https://blog.dich.ink/">
|
||||
|
||||
|
||||
<link rel="alternate" type="application/atom+xml" title="RSS" href="https://blog.dich.ink/atom.xml">
|
||||
|
||||
</head>
|
||||
|
||||
<body class="">
|
||||
<div class="container">
|
||||
|
||||
<header class="header">
|
||||
<div class="header__inner">
|
||||
<div class="header__logo">
|
||||
|
||||
<a href="https://blog.dich.ink" style="text-decoration: none;">
|
||||
<div class="logo">
|
||||
|
||||
Dich'blog
|
||||
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<nav class="menu">
|
||||
<ul class="menu__inner">
|
||||
<li class="active"><a href="https://blog.dich.ink">blog</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/tags">tags</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/archive">archive</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/about">about me</a></li>
|
||||
|
||||
<li><a href="https://blog.dich.ink/links">links</a></li>
|
||||
|
||||
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div class="content">
|
||||
|
||||
<div class="posts">
|
||||
<div class="post on-list">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.ink/kgnl/">快过年了笑话大全</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
2023-08-23
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/kgnl/">#KGNL</a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
<p>前言 快过年了系列笑话常常于过年期间在各大平台传播,反应了各技术人士的爱好与工作。本文收集了24个该系列的笑话,欢迎补充。</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<!-- ︎ -- force text style - some devices render this as emoji -->
|
||||
<a class="read-more button" href="https://blog.dich.ink/kgnl/">
|
||||
<span class="button__text">Read more</span>
|
||||
<span class="button__icon">↩︎</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<div class="pagination__buttons">
|
||||
<span class="button previous">
|
||||
<a href="https://blog.dich.ink/page/6/">
|
||||
<span class="button__icon">←</span>
|
||||
<span class="button__text">Newer posts</span>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner">
|
||||
<div class="copyright">
|
||||
<span>©
|
||||
2024
|
||||
Dichgrem</span>
|
||||
<span class="copyright-theme">
|
||||
<span class="copyright-theme-sep">:: </span>
|
||||
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script async defer src="http://173.249.208.93:12345/tracker.js" data-website-id="cluckwxwg0005qf4n55m737sz"></script>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -37,6 +37,14 @@
|
||||
<loc>https://blog.dich.ink/docker-learn-3/</loc>
|
||||
<lastmod>2024-03-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://blog.dich.ink/docker-learn-4/</loc>
|
||||
<lastmod>2024-03-28</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://blog.dich.ink/docker-learn-5/</loc>
|
||||
<lastmod>2024-03-28</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://blog.dich.ink/git/</loc>
|
||||
<lastmod>2024-03-15</lastmod>
|
||||
@ -108,6 +116,9 @@
|
||||
<url>
|
||||
<loc>https://blog.dich.ink/page/6/</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://blog.dich.ink/page/7/</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://blog.dich.ink/podcast-use/</loc>
|
||||
<lastmod>2024-01-20</lastmod>
|
||||
|
@ -81,7 +81,7 @@ Dich'blog</title>
|
||||
<div class="post">
|
||||
<h1 class="post-title">
|
||||
tag: #Docker
|
||||
(3 posts)
|
||||
(5 posts)
|
||||
</h1>
|
||||
|
||||
<a href="https://blog.dich.ink/tags">
|
||||
@ -90,6 +90,26 @@ Dich'blog</title>
|
||||
|
||||
|
||||
<ul><li class="post-list">
|
||||
<a href="https://blog.dich.ink/docker-learn-4/">
|
||||
<span class="post-date">2024-03-28</span>
|
||||
:: <span class="post-list-title">Docker学习笔记(四)</span></a>
|
||||
|
||||
<span class="post-tags-inline">
|
||||
::
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
</li>
|
||||
<li class="post-list">
|
||||
<a href="https://blog.dich.ink/docker-learn-5/">
|
||||
<span class="post-date">2024-03-28</span>
|
||||
:: <span class="post-list-title">Docker学习笔记(五)</span></a>
|
||||
|
||||
<span class="post-tags-inline">
|
||||
::
|
||||
<a class="post-tag" href="https://blog.dich.ink/tags/docker/">#Docker</a></span>
|
||||
|
||||
</li>
|
||||
<li class="post-list">
|
||||
<a href="https://blog.dich.ink/docker-learn-3/">
|
||||
<span class="post-date">2024-03-27</span>
|
||||
:: <span class="post-list-title">Docker学习笔记(三)</span></a>
|
||||
|
@ -102,7 +102,7 @@
|
||||
|
||||
<li class="tag-list">
|
||||
<a href="https://blog.dich.ink/tags/docker/">
|
||||
Docker (3 posts)
|
||||
Docker (5 posts)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user