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 

yum install java-11-openjdk java-11-openjdk-devel -y
sudo chmod 666  /var/run/docker.sock
sudo mkdir -p /data/jenkins && sudo chown -R 1000:1000 /data/jenkins
docker stop jenkins && docker rm jenkins 
docker run --name jenkins -p 8080:8080 -p 50000:50000 \
  -v /etc/localtime:/etc/localtime:ro \
  -v /run/docker.sock:/var/run/docker.sock \
  -v $(which docker-compose):/usr/bin/docker-compose \
  -v $(which docker):/usr/bin/docker \
  -v /data/jenkins:/var/jenkins_home \
  -e TZ=Asia/Shanghai \
  --restart=always \
  -u 0 -d jenkins/jenkins:2.414-jdk11

中文

安装插件“Locale plugin”
1.png

删除所有未打标签的镜像

docker rmi $(docker images -q -f dangling=true)

删除所有无用的volume

docker volume rm $(docker volume ls -qf dangling=true)

Docker占用的磁盘空间查看

docker system df