Compare commits

..

No commits in common. "7fa94e1dd710f033c1840cb63c9b091134720da9" and "03efc46a4f184abc0d6975c9a115e1d0e5503a45" have entirely different histories.

26 changed files with 0 additions and 541 deletions

1
.gitignore vendored
View File

@ -1 +0,0 @@
.idea/

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE categories
SYSTEM "https://resources.jetbrains.com/writerside/1.0/categories.dtd">
<categories>
<category id="wrs" name="Writerside documentation" order="1"/>
</categories>

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE buildprofiles SYSTEM "https://resources.jetbrains.com/writerside/1.0/build-profiles.dtd">
<buildprofiles xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/build-profiles.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<variables></variables>
<build-profile instance="root">
<variables>
<noindex-content>false</noindex-content>
</variables>
</build-profile>
<build-profile instance="docker">
<variables>
<noindex-content>false</noindex-content>
</variables>
</build-profile>
</buildprofiles>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE instance-profile
SYSTEM "https://resources.jetbrains.com/writerside/1.0/product-profile.dtd">
<instance-profile id="docker"
name="Docker教程"
start-page="Docker教程主页.md">
<toc-element topic="Docker教程主页.md"/>
<toc-element topic="Docker安装.md"/>
<toc-element toc-title="服务安装指南">
<toc-element topic="Docker_PostgreSQL.md"/>
</toc-element>
<toc-element topic="Docker常见问题.md"/>
</instance-profile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 341 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rules SYSTEM "https://resources.jetbrains.com/writerside/1.0/redirection-rules.dtd">
<rules>
<!-- format is as follows
<rule id="<unique id>">
<accepts>page.html</accepts>
</rule>
-->
<rule id="549b17d8">
<description>Created after removal of "Docker教程主页" from Jcnc教程</description>
<accepts>Docker教程主页.html</accepts>
</rule>
</rules>

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE instance-profile
SYSTEM "https://resources.jetbrains.com/writerside/1.0/product-profile.dtd">
<instance-profile id="root"
name="Jcnc教程"
start-page="主页.md">
<toc-element topic="主页.md"/>
</instance-profile>

View File

@ -1,155 +0,0 @@
# Docker安装PostgresSQL指南
## 前言
本文将介绍如何在Docker中安装PostgreSQL数据库。
## Docker安装步骤
### 1. 拉取PostgreSQL镜像
> 注意下方命令拉取的是最新版本的PostgreSQL镜像如果你需要指定版本请使用
>
> ```sh
> docker pull postgres:指定版本号
> ```
>
> 命令
```
docker pull postgres
```
> 执行结果
>
> ![image-20250420104553777](assets/Docker_PostgreSQL/image-20250420104553777.png)
>
### 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`:后台运行容器
**注:如果不想当你删除容器时数据丢失,请将容器内的数据目录挂载到主机目录中**
> 执行结果
>
> ![image-20250420111459451](assets/Docker_PostgreSQL/image-20250420111459451.png)
>
> 验证容器是否启动,请执行`docker ps`命令
>
> ![image-20250420111643192](assets/Docker_PostgreSQL/image-20250420111643192.png)
>
### 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保存文件
>
> ![image-20250420112228948](assets/Docker_PostgreSQL/image-20250420112228948.png)
>
### 2. 启动服务
> 一般建议在你所使用的工作平台创建并编辑好Docker-Compose文件再上传到你的Linux服务器中(你执行命令的目录下必须有这个文件)
```sh
# 执行下方命令
docker-compose up -d
```
> 注意:
>
> 也许你执行上方命令会提示
>
> ![image-20250420112323250](assets/Docker_PostgreSQL/image-20250420112323250.png)
>
> 这是因为你的Docker Compose版本已经不支持这种方式了请使用下方命令
>
> ```sh
> docker compose up -d
> ```
>
> ![image-20250420112546002](assets/Docker_PostgreSQL/image-20250420112546002.png)
>
> 怎么样?是不是更方便
## 总结
本文介绍了如何在Docker中安装PostgreSQL数据库.

View File

@ -1,194 +0,0 @@
# 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]
```

View File

@ -1,100 +0,0 @@
# 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"
```

View File

@ -1,3 +0,0 @@
# Docker教程主页
此处主要存放Docker相关的教程包括Docker的基本概念、安装、使用、Dockerfile编写、镜像管理、容器管理等。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View File

@ -1,3 +0,0 @@
# 主页
这是教程的主页,本文档主要记录在写项目的过程中需要安装的软件、配置环境、编写代码、运行项目等相关内容。

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vars SYSTEM "https://resources.jetbrains.com/writerside/1.0/vars.dtd">
<vars>
<var name="product" value="Writerside"/>
</vars>

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ihp SYSTEM "https://resources.jetbrains.com/writerside/1.0/ihp.dtd">
<ihp version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/writerside-cfg.xsd">
<topics dir="topics"/>
<images dir="images" web-path="images"/>
<categories src="c.list"/>
<vars src="v.list"/>
<instance src="root.tree" version="1.0.0" web-path="/jcnc/home"/>
<instance src="docker.tree" version="1.0.0" web-path="/jcnc/docker"/>
</ihp>

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>