Update from Sync Service
This commit is contained in:
71
Docker/CentOS7设置Docker开机自启动.md
Executable file
71
Docker/CentOS7设置Docker开机自启动.md
Executable file
@@ -0,0 +1,71 @@
|
|||||||
|
# CentOS 7 设置 Docker 开机自启动
|
||||||
|
|
||||||
|
## 1. 设置 Docker 开机启动
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 启用 Docker 服务开机自启
|
||||||
|
systemctl enable docker
|
||||||
|
|
||||||
|
# 验证设置
|
||||||
|
systemctl is-enabled docker
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. 设置容器自动重启
|
||||||
|
|
||||||
|
### 方式一:创建容器时指定
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d --restart=always --name <容器名> <镜像>
|
||||||
|
```
|
||||||
|
|
||||||
|
`--restart` 参数选项:
|
||||||
|
|
||||||
|
| 值 | 说明 |
|
||||||
|
|----|------|
|
||||||
|
| `no` | 容器退出时不重启(默认) |
|
||||||
|
| `on-failure` | 仅在非 0 状态退出时重启 |
|
||||||
|
| `on-failure:3` | 非 0 退出时最多重启 3 次 |
|
||||||
|
| `always` | 无论退出状态如何都重启 |
|
||||||
|
| `unless-stopped` | 除非手动停止,否则始终重启 |
|
||||||
|
|
||||||
|
### 方式二:修改已有容器
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 更新容器重启策略
|
||||||
|
docker update --restart=always <容器ID或名称>
|
||||||
|
|
||||||
|
# 示例
|
||||||
|
docker update --restart=always my-redis
|
||||||
|
docker update --restart=always 8a3c5f7d2e91
|
||||||
|
```
|
||||||
|
|
||||||
|
## 3. 批量设置所有容器
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 将所有容器设置为自动重启
|
||||||
|
docker update --restart=always $(docker ps -aq)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. 验证配置
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看容器重启策略
|
||||||
|
docker inspect <容器名> --format='{{.HostConfig.RestartPolicy.Name}}'
|
||||||
|
|
||||||
|
# 查看所有容器的重启策略
|
||||||
|
docker ps --format '{{.Names}}: {{.Status}}'
|
||||||
|
```
|
||||||
|
|
||||||
|
## 常见问题
|
||||||
|
|
||||||
|
**Q:容器内应用崩溃退出后,Docker 会重启容器吗?**
|
||||||
|
|
||||||
|
A:`--restart=always` 会在容器退出时自动重启。但如果容器内应用不断崩溃,Docker 会不断重启,可能造成死循环。建议使用健康检查机制。
|
||||||
|
|
||||||
|
**Q:服务器重启后,容器启动顺序重要吗?**
|
||||||
|
|
||||||
|
A:如果容器有依赖关系(如 Web 应用依赖数据库),需要考虑启动顺序。可使用 `docker-compose` 的 `depends_on` 或设置重启策略的 `condition`。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> 参考:[Docker 官方文档 - 重启策略](https://docs.docker.com/config/containers/start-containers-automatically/)
|
||||||
128
Docker/Docker安装Redis.md
Executable file
128
Docker/Docker安装Redis.md
Executable file
@@ -0,0 +1,128 @@
|
|||||||
|
# Docker 安装 Redis
|
||||||
|
|
||||||
|
## 1. 下载 Redis 镜像
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull redis:latest
|
||||||
|
|
||||||
|
# 或者指定版本
|
||||||
|
docker pull redis:7-alpine
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. 创建本地目录
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 创建配置和数据目录
|
||||||
|
mkdir -p redis/conf redis/data
|
||||||
|
```
|
||||||
|
|
||||||
|
## 3. 创建 Redis 配置文件
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat > redis/conf/redis.conf << 'EOF'
|
||||||
|
# 基本配置
|
||||||
|
bind 0.0.0.0
|
||||||
|
protected-mode no
|
||||||
|
port 6379
|
||||||
|
|
||||||
|
# 持久化
|
||||||
|
appendonly yes
|
||||||
|
appendfilename "appendonly.aof"
|
||||||
|
|
||||||
|
# 内存管理
|
||||||
|
maxmemory 256mb
|
||||||
|
maxmemory-policy allkeys-lru
|
||||||
|
|
||||||
|
# 日志
|
||||||
|
loglevel notice
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. 启动 Redis 容器
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name redis \
|
||||||
|
-p 6379:6379 \
|
||||||
|
-v $PWD/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
|
||||||
|
-v $PWD/redis/data:/data \
|
||||||
|
redis:latest \
|
||||||
|
redis-server /usr/local/etc/redis/redis.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
### 参数说明
|
||||||
|
|
||||||
|
| 参数 | 说明 |
|
||||||
|
|------|------|
|
||||||
|
| `-d` | 后台运行 |
|
||||||
|
| `--name redis` | 容器名称 |
|
||||||
|
| `-p 6379:6379` | 端口映射 |
|
||||||
|
| `-v .../redis.conf:...` | 配置文件挂载 |
|
||||||
|
| `-v .../data:/data` | 数据目录挂载 |
|
||||||
|
| `redis-server ...` | 使用指定配置文件启动 |
|
||||||
|
|
||||||
|
## 5. 连接测试
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 使用 redis-cli 连接
|
||||||
|
docker exec -it redis redis-cli
|
||||||
|
|
||||||
|
# 或者直接用 redis-cli(如果主机已安装)
|
||||||
|
redis-cli
|
||||||
|
|
||||||
|
# 测试
|
||||||
|
> PING
|
||||||
|
PONG
|
||||||
|
|
||||||
|
> SET test "hello"
|
||||||
|
OK
|
||||||
|
|
||||||
|
> GET test
|
||||||
|
"hello"
|
||||||
|
```
|
||||||
|
|
||||||
|
## 6. 常用运维命令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看容器状态
|
||||||
|
docker ps | grep redis
|
||||||
|
|
||||||
|
# 查看日志
|
||||||
|
docker logs -f redis
|
||||||
|
|
||||||
|
# 进入容器
|
||||||
|
docker exec -it redis sh
|
||||||
|
|
||||||
|
# 停止/启动
|
||||||
|
docker stop redis
|
||||||
|
docker start redis
|
||||||
|
```
|
||||||
|
|
||||||
|
## 7. 无配置文件快速启动
|
||||||
|
|
||||||
|
如果不需要自定义配置:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name redis \
|
||||||
|
-p 6379:6379 \
|
||||||
|
-v redis-data:/data \
|
||||||
|
redis:latest \
|
||||||
|
redis-server --appendonly yes
|
||||||
|
```
|
||||||
|
|
||||||
|
## 8. 数据备份
|
||||||
|
|
||||||
|
Redis 数据存储在 `/data` 目录(已挂载到本地):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 备份
|
||||||
|
tar -czvf redis-backup-$(date +%Y%m%d).tar.gz redis/data/
|
||||||
|
|
||||||
|
# 恢复
|
||||||
|
tar -xzvf redis-backup-xxxxxxxx.tar.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> 参考:[Redis Docker 官方文档](https://hub.docker.com/_/redis)
|
||||||
114
Docker/Docker部署MongoDB.md
Executable file
114
Docker/Docker部署MongoDB.md
Executable file
@@ -0,0 +1,114 @@
|
|||||||
|
# Docker 部署 MongoDB
|
||||||
|
|
||||||
|
## 1. 下载 MongoDB 镜像
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull mongo:latest
|
||||||
|
|
||||||
|
# 查看已下载的镜像
|
||||||
|
docker images mongo
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. 启动 MongoDB 容器
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name mongodb \
|
||||||
|
-p 27017:27017 \
|
||||||
|
-v $PWD/data:/data/db \
|
||||||
|
mongo:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
### 参数说明
|
||||||
|
|
||||||
|
| 参数 | 说明 |
|
||||||
|
|------|------|
|
||||||
|
| `-d` | 后台运行 |
|
||||||
|
| `--name mongodb` | 容器名称 |
|
||||||
|
| `-p 27017:27017` | 端口映射(主机:容器) |
|
||||||
|
| `-v $PWD/data:/data/db` | 数据卷挂载,持久化存储 |
|
||||||
|
|
||||||
|
## 3. 配置认证(可选,推荐)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 创建管理员账号
|
||||||
|
docker exec -it mongodb mongosh admin
|
||||||
|
|
||||||
|
# 在 mongosh 中执行
|
||||||
|
db.createUser({
|
||||||
|
user: "admin",
|
||||||
|
pwd: "你的密码",
|
||||||
|
roles: [{ role: "root", db: "admin" }]
|
||||||
|
})
|
||||||
|
|
||||||
|
# 退出
|
||||||
|
exit
|
||||||
|
```
|
||||||
|
|
||||||
|
### 带认证启动
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker stop mongodb
|
||||||
|
docker rm mongodb
|
||||||
|
|
||||||
|
docker run -d \
|
||||||
|
--name mongodb \
|
||||||
|
-p 27017:27017 \
|
||||||
|
-v $PWD/data:/data/db \
|
||||||
|
-e MONGO_INITDB_ROOT_USERNAME=admin \
|
||||||
|
-e MONGO_INITDB_ROOT_PASSWORD=你的密码 \
|
||||||
|
mongo:latest --auth
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. 连接测试
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 方式一:使用 mongosh 连接
|
||||||
|
docker exec -it mongodb mongosh --host 127.0.0.1
|
||||||
|
|
||||||
|
# 方式二:从另一容器连接
|
||||||
|
docker run -it --rm \
|
||||||
|
--link mongodb:mongo \
|
||||||
|
mongo:latest \
|
||||||
|
mongosh --host mongo
|
||||||
|
|
||||||
|
# 方式三:从主机连接(需要安装 mongosh)
|
||||||
|
mongosh mongodb://admin:密码@localhost:27017
|
||||||
|
```
|
||||||
|
|
||||||
|
看到以下提示说明部署成功:
|
||||||
|
|
||||||
|
```
|
||||||
|
It looks like you are trying to access MongoDB over HTTP on the native driver port.
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. 常用管理命令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看容器状态
|
||||||
|
docker ps | grep mongodb
|
||||||
|
|
||||||
|
# 查看日志
|
||||||
|
docker logs -f mongodb
|
||||||
|
|
||||||
|
# 进入容器
|
||||||
|
docker exec -it mongodb bash
|
||||||
|
|
||||||
|
# 停止/启动
|
||||||
|
docker stop mongodb
|
||||||
|
docker start mongodb
|
||||||
|
```
|
||||||
|
|
||||||
|
## 6. 数据备份与恢复
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 备份(数据在挂载的 $PWD/data 目录中)
|
||||||
|
tar -czvf mongodb-backup-$(date +%Y%m%d).tar.gz data/
|
||||||
|
|
||||||
|
# 恢复
|
||||||
|
tar -xzvf mongodb-backup-xxxxxxxx.tar.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> 参考:[MongoDB Docker 官方文档](https://hub.docker.com/_/mongo)
|
||||||
@@ -17,14 +17,13 @@ updated: 2026-04-21
|
|||||||
### 基础入门
|
### 基础入门
|
||||||
| 笔记 | 说明 |
|
| 笔记 | 说明 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| [[Docker安装redis]] | Redis 容器化部署 |
|
| [[Docker安装Redis]] | Redis 容器化部署 |
|
||||||
| [[Docker 部署 MongoDB]] | MongoDB 容器化部署 |
|
| [[Docker部署MongoDB]] | MongoDB 容器化部署 |
|
||||||
| [[Docker-Compose安装]] | Docker Compose 安装 |
|
|
||||||
|
|
||||||
### 运维管理
|
### 运维管理
|
||||||
| 笔记 | 说明 |
|
| 笔记 | 说明 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| [[CentOS 7 设置 Docker 开机自启动]] | Docker 及容器自启动配置 |
|
| [[CentOS7设置Docker开机自启动]] | Docker 及容器自启动配置 |
|
||||||
| [[Docker镜像清理]] | 清理无用镜像 |
|
| [[Docker镜像清理]] | 清理无用镜像 |
|
||||||
| [[批量删除已停止容器]] | 批量清理已停止容器 |
|
| [[批量删除已停止容器]] | 批量清理已停止容器 |
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user