Redis Docker开发环境配置指南

Redis Docker开发环境配置指南 本文档详细介绍如何使用Docker搭建Redis开发环境,包括环境配置、启动方式、维护方法等内容。 目录结构 Redis_Docker/ ├── .env # 环境变量配置文件 ├── README.md # 项目说明文档 ├── config/ # 配置文件目录 │ └── redis.conf # Redis配置文件 ├── data/ # 数据存储目录 └── logs/ # 日志文件目录 配置文件说明 1. docker-compose.yml version: '3.8' services: redis: container_name: redis-server image: redis:7.2 ports: - "${REDIS_PORT}:6379" volumes: - ./data:/data - ./logs:/var/log/redis - ./config/redis.conf:/usr/local/etc/redis/redis.conf command: redis-server /usr/local/etc/redis/redis.conf environment: - TZ=Asia/Shanghai networks: - redis-network healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 start_period: 5s networks: redis-network: driver: bridge 2. .env 环境变量配置 # Redis 配置环境变量 REDIS_PORT=6379 # Redis端口映射 REDIS_PASSWORD=your_password # Redis访问密码 3. redis.conf 主要配置 # 网络设置 bind 0.0.0.0 port 6379 protected-mode yes tcp-keepalive 300 # 基本设置 databases 16 loglevel notice logfile "/var/log/redis/redis.log" # 内存设置 maxmemory 256mb maxmemory-policy allkeys-lru maxmemory-samples 5 # 持久化设置 save 900 1 # 900秒内至少1个键被修改 save 300 10 # 300秒内至少10个键被修改 save 60 10000 # 60秒内至少10000个键被修改 # AOF设置 appendonly yes appendfilename "appendonly.aof" appendfsync everysec 使用说明 1. 启动服务 # 启动服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs redis 2. 连接Redis # 使用容器内的redis-cli docker-compose exec redis redis-cli -a your_password # 使用主机的redis-cli(如果已安装) redis-cli -h localhost -p 6379 -a your_password # 测试连接 redis-cli -h localhost -p 6379 -a your_password ping 3. 停止服务 # 停止服务 docker-compose down 数据持久化 Redis配置了双重持久化机制: ...

2024-03-19 · 2 分钟 · 317 字 · heyaohua

PostgreSQL Docker开发环境配置指南

PostgreSQL Docker开发环境配置指南 本文档详细介绍如何使用Docker搭建PostgreSQL开发环境,包括环境配置、启动方式、维护方法等内容。 目录结构 PgSQL_Docker/ ├── .env # 环境变量配置文件 ├── README.md # 项目说明文档 ├── config/ # 配置文件目录 │ ├── pg_hba.conf # 访问控制配置 │ └── postgresql.conf # PostgreSQL主配置文件 ├── data/ # 数据存储目录 └── logs/ # 日志文件目录 配置文件说明 1. docker-compose.yml version: '3.8' services: postgres: container_name: postgres-server image: postgres:15 environment: - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} ports: - "${POSTGRES_PORT}:5432" volumes: - ./data:/var/lib/postgresql/data - ./logs:/var/log/postgresql - ./config/postgresql.conf:/etc/postgresql/postgresql.conf - ./config/pg_hba.conf:/etc/postgresql/pg_hba.conf command: postgres -c 'config_file=/etc/postgresql/postgresql.conf' networks: - postgres-network healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 10s timeout: 5s retries: 5 start_period: 10s networks: postgres-network: driver: bridge 2. .env 环境变量配置 # PostgreSQL 配置环境变量 POSTGRES_DB=test_db # 数据库名称 POSTGRES_USER=data # 默认超级用户 POSTGRES_PASSWORD=your_password # 用户密码 POSTGRES_PORT=5432 # 端口映射 3. postgresql.conf 主要配置 # 连接设置 listen_addresses = '*' port = 5432 max_connections = 100 # 内存设置 shared_buffers = 128MB work_mem = 4MB maintenance_work_mem = 64MB effective_cache_size = 512MB # 写入设置 wal_level = replica max_wal_size = 1GB min_wal_size = 80MB # 日志设置 log_destination = 'stderr' logging_collector = on log_directory = '/var/log/postgresql' log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' log_rotation_age = 1d log_rotation_size = 10MB # 区域设置 datestyle = 'iso, mdy' timezone = 'UTC' lc_messages = 'en_US.utf8' 4. pg_hba.conf 访问控制配置 # TYPE DATABASE USER ADDRESS METHOD local all all trust host all all 127.0.0.1/32 scram-sha-256 host all all ::1/128 scram-sha-256 host all all 0.0.0.0/0 scram-sha-256 使用说明 1. 启动服务 # 启动服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs postgres 2. 连接数据库 # 使用超级用户连接 docker-compose exec postgres psql -U data -d test_db # 查看用户列表和权限 \du # 查看数据库列表 \l # 退出psql \q 3. 停止服务 # 停止服务 docker-compose down 用户和权限管理 PostgreSQL使用角色(Role)概念来管理用户权限。在我们的配置中: ...

2024-03-19 · 2 分钟 · 380 字 · heyaohua

MySQL Docker开发环境配置指南

如何使用Docker启动MySQL开发环境 目录结构 MySQL_Docker/ ├── docker-compose.yml # Docker Compose 配置文件 ├── .env # 环境变量配置 ├── config/ │ └── my.cnf # MySQL 配置文件 ├── data/ # MySQL 数据目录 (挂载) └── logs/ # MySQL 日志目录 (挂载) 配置文件说明 1. docker-compose.yml 配置要点 version: '3.8' services: mysql: image: mysql:8.0 container_name: mysql-server restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root123} MYSQL_DATABASE: ${MYSQL_DATABASE:-testdb} MYSQL_USER: ${MYSQL_USER:-testuser} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-testpass} ports: - "${MYSQL_PORT:-3306}:3306" volumes: - ./data:/var/lib/mysql - ./logs:/var/log/mysql - ./config/my.cnf:/etc/mysql/conf.d/my.cnf 重要配置说明: restart: unless-stopped - 容器异常退出时自动重启 environment - 环境变量配置,支持从.env文件读取 volumes - 数据持久化配置,确保数据安全 ports - 端口映射,允许外部访问 2. MySQL配置文件 (my.cnf) 要点 [mysqld] # 基本设置 port = 3306 bind-address = 0.0.0.0 default-storage-engine = InnoDB # 字符集设置(重要) character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci # 连接设置 max_connections = 200 max_connect_errors = 10 # 缓冲区设置 innodb_buffer_pool_size = 256M innodb_log_file_size = 64M innodb_log_buffer_size = 16M # 日志设置 log-error = /var/log/mysql/error.log slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 2 配置注意事项: ...

2024-03-19 · 2 分钟 · 258 字 · heyaohua