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,9 +17,8 @@ updated: 2026-04-21
|
||||
### 基础入门
|
||||
| 笔记 | 说明 |
|
||||
|------|------|
|
||||
| [[Docker安装redis]] | Redis 容器化部署 |
|
||||
| [[Docker安装Redis]] | Redis 容器化部署 |
|
||||
| [[Docker部署MongoDB]] | MongoDB 容器化部署 |
|
||||
| [[Docker-Compose安装]] | Docker Compose 安装 |
|
||||
|
||||
### 运维管理
|
||||
| 笔记 | 说明 |
|
||||
|
||||
Reference in New Issue
Block a user