commit ea37df293dac6760108f68963fe0363c0b6a6890
Author: gewuyou <1063891901@qq.com>
Date: Sun Apr 20 23:11:40 2025 +0800
init: 创建Docker相关教程
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..62c8935
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.idea/
\ No newline at end of file
diff --git a/Writerside/c.list b/Writerside/c.list
new file mode 100644
index 0000000..c4c77a2
--- /dev/null
+++ b/Writerside/c.list
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Writerside/cfg/buildprofiles.xml b/Writerside/cfg/buildprofiles.xml
new file mode 100644
index 0000000..3174740
--- /dev/null
+++ b/Writerside/cfg/buildprofiles.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+ false
+
+
+
+
+ false
+
+
+
+
\ No newline at end of file
diff --git a/Writerside/docker.tree b/Writerside/docker.tree
new file mode 100644
index 0000000..06c449a
--- /dev/null
+++ b/Writerside/docker.tree
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Writerside/images/completion_procedure.png b/Writerside/images/completion_procedure.png
new file mode 100644
index 0000000..3535a3f
Binary files /dev/null and b/Writerside/images/completion_procedure.png differ
diff --git a/Writerside/images/completion_procedure_dark.png b/Writerside/images/completion_procedure_dark.png
new file mode 100644
index 0000000..a65beb0
Binary files /dev/null and b/Writerside/images/completion_procedure_dark.png differ
diff --git a/Writerside/images/convert_table_to_xml.png b/Writerside/images/convert_table_to_xml.png
new file mode 100644
index 0000000..2518a64
Binary files /dev/null and b/Writerside/images/convert_table_to_xml.png differ
diff --git a/Writerside/images/convert_table_to_xml_dark.png b/Writerside/images/convert_table_to_xml_dark.png
new file mode 100644
index 0000000..4716122
Binary files /dev/null and b/Writerside/images/convert_table_to_xml_dark.png differ
diff --git a/Writerside/images/new_topic_options.png b/Writerside/images/new_topic_options.png
new file mode 100644
index 0000000..bc6abb6
Binary files /dev/null and b/Writerside/images/new_topic_options.png differ
diff --git a/Writerside/images/new_topic_options_dark.png b/Writerside/images/new_topic_options_dark.png
new file mode 100644
index 0000000..bf3e48d
Binary files /dev/null and b/Writerside/images/new_topic_options_dark.png differ
diff --git a/Writerside/redirection-rules.xml b/Writerside/redirection-rules.xml
new file mode 100644
index 0000000..f518e08
--- /dev/null
+++ b/Writerside/redirection-rules.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Created after removal of "Docker教程主页" from Jcnc教程
+ Docker教程主页.html
+
+
\ No newline at end of file
diff --git a/Writerside/root.tree b/Writerside/root.tree
new file mode 100644
index 0000000..81eea67
--- /dev/null
+++ b/Writerside/root.tree
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Writerside/topics/Docker_PostgreSQL.md b/Writerside/topics/Docker_PostgreSQL.md
new file mode 100644
index 0000000..56f6684
--- /dev/null
+++ b/Writerside/topics/Docker_PostgreSQL.md
@@ -0,0 +1,155 @@
+# Docker安装PostgresSQL指南
+## 前言
+
+本文将介绍如何在Docker中安装PostgreSQL数据库。
+
+## Docker安装步骤
+
+### 1. 拉取PostgreSQL镜像
+
+> 注意下方命令拉取的是最新版本的PostgreSQL镜像,如果你需要指定版本,请使用
+>
+> ```sh
+> docker pull postgres:指定版本号
+> ```
+>
+> 命令
+
+```
+docker pull postgres
+```
+> 执行结果
+>
+> 
+>
+### 2. 启动PostgreSQL容器
+
+```sh
+docker run --name my-postgres \
+ -e POSTGRES_PASSWORD=mysecretpassword \
+ -p 5432:5432 \
+ -v /var/service/postgresql/my-postgres/data:/var/lib/postgresql/data \
+ --restart unless-stopped \
+ -d postgres
+```
+
+参数说明:
+
+- `--name`:为容器指定名称
+
+- `-e POSTGRES_PASSWORD`:设置postgres用户的密码(必须)
+
+- `-v`参数将容器内的数据目录映射到主机目录。
+
+ - 对于-v /var/service/postgresql/my-postgres/data:/var/lib/postgresql/data,前者路径是主机路径,后者为容器中路径
+
+- `--restart unless-stopped` 表示:
+
+ >1. 当Docker守护进程启动时,自动启动这个容器
+ >2. 如果容器正常退出(手动停止),则不会自动重启
+ >3. 如果容器异常退出(崩溃),会自动重启
+ >4. 当然你可以使用其它策略,或者不选择策略
+ >
+ >### 其他可选的restart策略:
+ >
+ >- `--restart no`:不自动重启(默认值)
+ >- `--restart on-failure[:max-retries]`:只在非正常退出时重启,可指定最大重试次数
+ >- `--restart always`:总是重启,无论退出状态如何(包括手动停止后)
+
+- `-p 5432:5432`:将容器端口映射到主机端口
+
+- `-d`:后台运行容器
+
+**注:如果不想当你删除容器时数据丢失,请将容器内的数据目录挂载到主机目录中**
+
+> 执行结果
+>
+> 
+>
+> 验证容器是否启动,请执行`docker ps`命令
+>
+> 
+>
+
+### 3. 连接到PostgreSQL容器
+
+```
+docker exec -it postgres psql -U postgres
+```
+
+- `-it`:交互式运行
+- `-U postgres`:指定用户名为postgres
+
+### 4. 创建数据库
+
+```
+CREATE DATABASE mydatabase;
+```
+
+### 5. 退出PostgreSQL容器
+
+```
+\q
+```
+
+## Docker Compose安装步骤
+
+> 这个可以允许你不预先安装镜像,文件执行时会自动帮你下载,因此更建议使用此种方式
+
+### 1. 创建`docker-compose.yml`文件
+
+```yaml
+services:
+ postgres:
+ image: postgres:latest
+ container_name: my-postgres
+ environment:
+ POSTGRES_PASSWORD: mysecretpassword # 必填,数据库访问密码
+ POSTGRES_USER: myuser # 可选,自定义用户名
+ POSTGRES_DB: mydb # 可选,自定义初始数据库
+ ports:
+ - "5432:5432"
+ volumes:
+ - postgres_data:/var/lib/postgresql/data # 声明挂载的数据卷所映射的目录
+volumes:
+ postgres_data: # 声明所使用的数据卷
+```
+
+> 示例步骤
+>
+> 首先我们找到一个合适的目录,比如/var/service/postgresql/my-postgres
+> 直接 ```cd /var/service/postgresql/my-postgres```
+> 然后执行 ```nano docker-compose.yml```
+> 将上面的内容复制进去,然后按Ctrl+X,再按Y,再按Enter保存文件
+>
+> 
+>
+
+### 2. 启动服务
+
+> 一般建议在你所使用的工作平台创建并编辑好Docker-Compose文件再上传到你的Linux服务器中(你执行命令的目录下必须有这个文件)
+
+```sh
+# 执行下方命令
+docker-compose up -d
+```
+
+> 注意:
+>
+> 也许你执行上方命令会提示
+>
+> 
+>
+> 这是因为你的Docker Compose版本已经不支持这种方式了,请使用下方命令
+>
+> ```sh
+> docker compose up -d
+> ```
+>
+> 
+>
+> 怎么样?是不是更方便
+
+## 总结
+
+本文介绍了如何在Docker中安装PostgreSQL数据库.
diff --git a/Writerside/topics/Docker安装.md b/Writerside/topics/Docker安装.md
new file mode 100644
index 0000000..754bfc0
--- /dev/null
+++ b/Writerside/topics/Docker安装.md
@@ -0,0 +1,194 @@
+# Docker安装指南
+
+## 介绍{id="docker_0"}
+
+Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似虚拟机),更重要的是容器性能开销极低。
+
+## 安装Docker {id="docker_1"}
+
+### 准备工作
+- 系统要求:Docker支持的系统包括`CentOS`、`Debian`、`Fedora`、`Ubuntu`等。
+- 准备安装包:Docker安装包可以从Docker官网下载,地址为:[https://www.docker.com/get-docker](https://www.docker.com/get-docker)。
+
+### 安装步骤
+
+#### 安装 Docker 引擎 {id="docker_2"}
+
+##### **更新包列表并安装必要的依赖**
+
+```bash
+sudo apt-get update
+sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
+```
+
+##### **添加 Docker 官方 GPG 密钥**
+
+```bash
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/trusted.gpg.d/docker.asc
+```
+
+##### **设置 Docker 仓库** {id="docker_3"}
+
+```bash
+sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
+```
+
+##### **更新包列表并安装 Docker** {id="docker_4"}
+
+```bash
+sudo apt-get update
+sudo apt-get install docker-ce docker-ce-cli containerd.io
+```
+
+#### 验证 Docker 安装 {id="docker_5"}
+
+你可以通过运行以下命令验证 Docker 是否正常工作:
+
+```sh
+docker --version
+```
+
+> 如果输出了对应的版本,说明docker已经安装成功
+
+#### 启动 Docker 服务 {id="docker_6"}
+
+安装完成后,你可以通过以下命令启动 Docker 服务:
+
+```bash
+sudo service docker start
+```
+
+或者,如果你的环境支持 `systemd`,你可以使用 `systemctl`:
+
+```
+sudo systemctl start docker
+```
+
+#### 配置 Docker 开机自启动 {id="docker_7"}
+
+如果你希望 Docker 在每次启动时自动启动,可以使用以下命令:
+
+```sh
+sudo systemctl enable docker
+```
+
+#### 配置 Docker 权限 {id="docker_8"}
+
+为了避免每次使用 Docker 命令时都需要 `sudo` 权限,可以将当前用户添加到 Docker 用户组:
+
+```sh
+sudo usermod -aG docker $USER
+```
+
+执行完后,重新启动服务器或退出当前终端并重新登录,然后你就可以直接使用 `docker` 命令而不需要加 `sudo` 了。
+
+#### 安装 Docker Compose
+
+如果你还需要 Docker Compose,可以按照以下步骤安装:
+
+1. **下载 Docker Compose**:
+
+ ```sh
+ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
+ ```
+
+ > 关于这个路径中的1.29.2,请替换你想要安装的版本
+
+2. **赋予执行权限**:
+
+ ```sh
+ sudo chmod +x /usr/local/bin/docker-compose
+ ```
+
+3. **验证安装**:
+
+ ```sh
+ docker-compose --version
+ ```
+## 一键安装Docker {id="docker_9"}
+> 执行下方命令即可一键安装Docker与Docker Compose
+````bash
+curl -fsSL https://get.docker.com | sh | tee docker-install.log
+````
+## 卸载Docker
+
+- 停止Docker服务:运行以下命令,停止Docker服务。
+
+```
+sudo systemctl stop docker
+```
+
+- 卸载Docker:运行以下命令,卸载Docker。
+
+```
+sudo yum remove docker-ce
+```
+
+- 确认卸载:运行以下命令,确认Docker已卸载。
+
+```
+sudo docker version
+```
+
+## 常见问题
+
+- 如何查看Docker版本?
+
+```
+docker version
+```
+
+- 如何查看Docker信息?
+
+```
+docker info
+```
+
+- 如何查看Docker镜像?
+
+```
+docker images
+```
+
+- 如何查看Docker容器?
+
+```
+docker ps -a
+```
+
+- 如何运行Docker镜像?
+
+```
+docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
+```
+
+- 如何停止Docker容器?
+
+```
+docker stop [OPTIONS] CONTAINER [CONTAINER...]
+```
+
+- 如何删除Docker镜像?
+
+```
+docker rmi [OPTIONS] IMAGE [IMAGE...]
+```
+
+- 如何删除Docker容器?
+
+```
+docker rm [OPTIONS] CONTAINER [CONTAINER...]
+```
+
+- 如何登录Docker镜像仓库?
+
+```
+docker login [OPTIONS] [SERVER]
+```
+
+- 如何推送Docker镜像到仓库?
+
+```
+docker push [OPTIONS] NAME[:TAG]
+```
+
diff --git a/Writerside/topics/Docker常见问题.md b/Writerside/topics/Docker常见问题.md
new file mode 100644
index 0000000..f38da6b
--- /dev/null
+++ b/Writerside/topics/Docker常见问题.md
@@ -0,0 +1,100 @@
+# Docker常见问题
+## 1. Docker镜像拉取失败
+> 可以尝试更换镜像源
+>
+> 首先进入打开daemon配置文件
+>
+> ```sh
+> #执行
+> nano /etc/docker/daemon.json
+> # 或者
+> vim /etc/docker/daemon.json
+> ```
+>
+> 一般是空的文件,我们可以把网上找到的镜像源粘贴到上面,格式形如
+>
+> ```json
+> {
+> "dns": ["8.8.8.8", "8.8.4.4"],
+> "registry-mirrors": [
+> "https://docker.mirrors.sjtug.sjtu.edu.cn",
+> "https://cr.laoyou.ip-ddns.com",
+> "https://docker.1panel.live",
+> "https://image.cloudlayer.icu",
+> "https://hub.fast360.xyz",
+> "https://docker-0.unsee.tech",
+> "https://docker.1panelproxy.com",
+> "https://docker.tbedu.top",
+> "https://dockerpull.cn",
+> "https://docker.m.daocloud.io",
+> "https://hub.rat.dev",
+> "https://docker.kejilion.pro",
+> "https://docker.hlmirror.com",
+> "https://docker.imgdb.de",
+> "https://docker.melikeme.cn",
+> "https://ccr.ccs.tencentyun.com"
+> ]
+> }
+> ```
+>
+> 然后重启Docker服务即可
+>
+> ```sh
+> sudo systemctl restart docker
+> ```
+
+## 2. Docker容器自启动
+
+> 这里拿pgsql举例
+
+### **方法 1:使用 `docker run` 时设置自启动**
+
+在运行容器时,使用 `--restart` 参数指定重启策略
+
+```
+docker run --name my-postgres \
+ -e POSTGRES_PASSWORD=mysecretpassword \
+ -p 5432:5432 \
+ -v /var/lib/postgresql/data:/var/lib/postgresql/data \
+ --restart unless-stopped \ # 关键参数:设置自启动策略
+ -d postgres
+```
+
+### **`--restart` 可选策略**
+
+| 策略 | 说明 |
+| :------------------------- | :----------------------------------------------------------- |
+| `no` | **默认**,容器不会自动重启 |
+| `always` | **总是重启**(即使手动停止 `docker stop`,Docker 服务重启后也会自动启动) |
+| `unless-stopped` | **除非手动停止**(`docker stop` 后不会自启,其他情况如系统重启会自动恢复) |
+| `on-failure[:max-retries]` | **失败时重启**(可设置最大重试次数,如 `on-failure:5`) |
+
+------
+
+### **方法 2:修改已运行的容器**
+
+如果容器已经创建,可以用 `docker update` 修改其重启策略:
+
+```
+docker update --restart unless-stopped my-postgres
+```
+
+------
+
+### **方法 3:在 `docker-compose.yml` 中配置**
+
+如果使用 Docker Compose,在 `services` 下添加 `restart` 字段:
+
+```
+services:
+ postgres:
+ image: postgres
+ container_name: my-postgres
+ restart: unless-stopped # 可选 always / on-failure / no
+ environment:
+ POSTGRES_PASSWORD: mysecretpassword
+ volumes:
+ - /var/lib/postgresql/data:/var/lib/postgresql/data
+ ports:
+ - "5432:5432"
+```
\ No newline at end of file
diff --git a/Writerside/topics/Docker教程主页.md b/Writerside/topics/Docker教程主页.md
new file mode 100644
index 0000000..8320a41
--- /dev/null
+++ b/Writerside/topics/Docker教程主页.md
@@ -0,0 +1,3 @@
+# Docker教程主页
+
+此处主要存放Docker相关的教程,包括Docker的基本概念、安装、使用、Dockerfile编写、镜像管理、容器管理等。
\ No newline at end of file
diff --git a/Writerside/topics/assets/Docker_PostgreSQL/image-20250420104553777.png b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420104553777.png
new file mode 100644
index 0000000..bbb7c6a
Binary files /dev/null and b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420104553777.png differ
diff --git a/Writerside/topics/assets/Docker_PostgreSQL/image-20250420111459451.png b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420111459451.png
new file mode 100644
index 0000000..34ff001
Binary files /dev/null and b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420111459451.png differ
diff --git a/Writerside/topics/assets/Docker_PostgreSQL/image-20250420111643192.png b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420111643192.png
new file mode 100644
index 0000000..7e6a626
Binary files /dev/null and b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420111643192.png differ
diff --git a/Writerside/topics/assets/Docker_PostgreSQL/image-20250420112228948.png b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420112228948.png
new file mode 100644
index 0000000..a406ca6
Binary files /dev/null and b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420112228948.png differ
diff --git a/Writerside/topics/assets/Docker_PostgreSQL/image-20250420112323250.png b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420112323250.png
new file mode 100644
index 0000000..e4887b1
Binary files /dev/null and b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420112323250.png differ
diff --git a/Writerside/topics/assets/Docker_PostgreSQL/image-20250420112546002.png b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420112546002.png
new file mode 100644
index 0000000..d1411c9
Binary files /dev/null and b/Writerside/topics/assets/Docker_PostgreSQL/image-20250420112546002.png differ
diff --git a/Writerside/topics/主页.md b/Writerside/topics/主页.md
new file mode 100644
index 0000000..2a3920c
--- /dev/null
+++ b/Writerside/topics/主页.md
@@ -0,0 +1,3 @@
+# 主页
+
+这是教程的主页,本文档主要记录在写项目的过程中需要安装的软件、配置环境、编写代码、运行项目等相关内容。
\ No newline at end of file
diff --git a/Writerside/v.list b/Writerside/v.list
new file mode 100644
index 0000000..2d12cb3
--- /dev/null
+++ b/Writerside/v.list
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/Writerside/writerside.cfg b/Writerside/writerside.cfg
new file mode 100644
index 0000000..50d7627
--- /dev/null
+++ b/Writerside/writerside.cfg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tutorial.iml b/tutorial.iml
new file mode 100644
index 0000000..80cc739
--- /dev/null
+++ b/tutorial.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file