docker-compose&pgsql&redis 配置
1、目录创建
mkdir -p /data/pgsql && mkdir -p /data/redis && mkdir -p /data/nginx/conf && mkdir -p /data/nginx/ssl
配置文件:部署.zip
创建网络
docker network create --subnet=192.168.100.0/24 mynetwork
2、docker-compose文件创建
vi /data/docker-compose.yml
version: "3"
services:
postgres:
image: postgres:15.2
container_name: postgres
restart: unless-stopped
networks:
- mynetwork
environment:
- POSTGRES_PASSWORD=postgres
- PGDATA=/var/lib/postgresql/data/pgdata
- TZ=Asia/Shanghai
ports:
- 5432:5432
volumes:
- /data/pgsql:/var/lib/postgresql/data
redis:
image: redis:7.0.10
container_name: redis
restart: unless-stopped
networks:
- mynetwork
environment:
- TZ=Asia/Shanghai
ports:
- 6379:6379
volumes:
- /data/redis/redis.conf:/etc/redis/redis.conf
- /data/redis/data:/data
command: bash -c "redis-server /etc/redis/redis.conf"
nginx:
image: nginx:stable-alpine-perl
container_name: nginx
restart: unless-stopped
networks:
- mynetwork
environment:
- TZ=Asia/Shanghai
ports:
- 443:443
- 80:80
volumes:
- /data/nginx/conf/:/etc/nginx/conf.d
- /data/nginx/ssl/:/ssl
- /data/nginx/logs:/var/log/nginx
networks:
mynetwork:
external: true
3、redis.conf配置文件
vi /data/redis/redis.conf
bind 0.0.0.0
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile "/var/run/redis_6379.pid"
# debug verbose notice warning (only very important / critical messages are logged)
loglevel notice
logfile "/data/redis.log"
databases 16
always-show-logo yes
#900秒后 有一个key变化就持久话
#300秒后 有10个key变化就持久话
#60秒后 有10000个key变化就持久话
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
# The filename where to dump the DB
dbfilename dump.rdb
#redis的工作目录(持久化文件和日志生成后保存的目录)
dir "/data"
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
FAQ
1、driver failed programming external connectivity on endpoint nginx(重启docker)
systemctl restart docker