Compare commits

..
6 Commits
9 changed files with 30 additions and 12 deletions
+5 -1
View File
@@ -16,9 +16,13 @@ jobs:
- uses: actions/checkout@v6
- name: Install Chromium and CJK fonts
uses: browser-actions/setup-chrome@v2
with:
chrome-version: stable
- name: Install CJK fonts
run: |
sudo apt-get update
sudo apt-get install -y chromium-browser fonts-noto-cjk fonts-noto-cjk-extra
sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra
- name: Install mdpress (latest)
run: |
+5 -1
View File
@@ -17,9 +17,13 @@ jobs:
steps:
- uses: actions/checkout@v6
- name: Install Chromium and CJK fonts
uses: browser-actions/setup-chrome@v2
with:
chrome-version: stable
- name: Install CJK fonts
run: |
sudo apt-get update
sudo apt-get install -y chromium-browser fonts-noto-cjk fonts-noto-cjk-extra
sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra
- name: Install mdpress (latest)
run: |
LATEST_TAG=$(curl -fsSL -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ github.token }}" https://api.github.com/repos/yeasy/mdpress/releases/latest | jq -r .tag_name)
+5 -1
View File
@@ -23,9 +23,13 @@ jobs:
- uses: actions/checkout@v6
- name: Install Chromium and CJK fonts
uses: browser-actions/setup-chrome@v2
with:
chrome-version: stable
- name: Install CJK fonts
run: |
sudo apt-get update
sudo apt-get install -y chromium-browser fonts-noto-cjk fonts-noto-cjk-extra
sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra
- name: Install mdpress (latest)
run: |
+1 -1
View File
@@ -60,7 +60,7 @@ Docker 镜像的每一层都有一个唯一的 ID,这个 ID 是根据该层的
Docker 使用联合文件系统 (Union FS) 与写时复制思路来实现这种分层挂载传统的实现方式常见于 `overlay2``aufs``btrfs``zfs` 等存储驱动而在 Docker Engine 29.0 及之后的全新安装中默认镜像后端已经变为 containerd image store它使用 snapshotter 来管理这些层
> **版本背景**Docker Engine 29.0发布于 2026 1 是一个重要版本分界点在全新安装场景下默认启用 containerd image store 作为镜像存储后端这对镜像管理OCI 合规性和供应链安全都有深远影响如果你的 Docker 版本低于 29.0镜像存储仍使用传统的 classic store 路径
> **版本背景**Docker Engine 29.0发布于 2025 11 是一个重要版本分界点在全新安装场景下默认启用 containerd image store 作为镜像存储后端这对镜像管理OCI 合规性和供应链安全都有深远影响如果你的 Docker 版本低于 29.0镜像存储仍使用传统的 classic store 路径
虽然底层实现细节不同但它们都遵循上述的 **分层 + CoW** 模型因此无论你看到的是 `overlay2` 还是 containerd snapshotter理解镜像层容器层和写时复制的方式都是一样重要的
+2 -2
View File
@@ -196,9 +196,9 @@ $ docker logs -t myapp
3. **以交互模式调试**
```bash
# /bin/sh 覆盖镜像原本的启动命令避免容器再次崩溃退出
# 进入 shell 后可手动执行原启动命令定位具体报错原因
$ docker run -it myimage:v1.0.0 /bin/sh
# 进入容器手动执行命令查找问题
```
#### Q容器在后台运行但无法访问服务
+1 -1
View File
@@ -80,7 +80,7 @@ server {
ssl_certificate_key key/example.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
large_client_header_buffers 4 32k;
+8 -2
View File
@@ -106,6 +106,11 @@ services:
POSTGRES_PASSWORD: password
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
web:
build: .
@@ -115,7 +120,8 @@ services:
ports:
- "3000:3000"
depends_on:
- db
db:
condition: service_healthy
environment:
DATABASE_URL: postgres://postgres:password@db:5432/myapp_development
@@ -128,7 +134,7 @@ volumes:
|--------|------|
| `rm -f tmp/pids/server.pid` | 清理上次异常退出留下的 PID 文件 |
| `volumes: .:/myapp` | 挂载代码目录支持热更新 |
| `depends_on: db` | 确保数据库启动 |
| `depends_on` + `condition` | 等待数据库健康检查通过后再启动 |
| `DATABASE_URL` | Rails 12-factor 风格的数据库配置 |
### 11.7.6 步骤 4生成 Rails 项目
+1 -1
View File
@@ -50,7 +50,7 @@ dockerd \
### 18.3.3 Rootless 模式非特权运行
为了从根本上解决拥有 Docker socket 就是 root的问题Docker 在近年推出 **Rootless 模式**
为了从根本上解决拥有 Docker socket 就是 root的问题Docker 19.03 版本2019 起提供 **Rootless 模式**
Rootless 模式允许在完全局限于非 `root` 用户的环境中运行 Docker 守护进程`dockerd`和容器该模式利用了现代 Linux 内核的 User Namespace 技术和非特权网络命名空间实现
+2 -2
View File
@@ -25,13 +25,13 @@ $ docker run --name some-mongo -d --network my-mongo-net mongo
```bash
$ docker run --name some-app -d --network my-mongo-net application-that-uses-mongo
```
或者通过 `mongo`
或者通过 `mongosh`MongoDB 6.0+ 已移除旧版 `mongo` 命令行工具
```bash
$ docker run -it --rm \
--network my-mongo-net \
mongo \
sh -c 'exec mongo "some-mongo:27017/test"'
mongosh "some-mongo:27017/test"
```
### Dockerfile