通过Docker 快速安装Postgresql 13

138 阅读1分钟

安装docker

# 安装必备程序

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine -y
yum install -y yum-utils device-mapper-persistent-data lvm2 python3 epel-release
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-stable
yum install docker-ce docker-ce-cli containerd.io htop atop iftop -y



mkdir -p /etc/docker

cat > /etc/docker/daemon.json <<EOF

{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "log-opts": {
    "max-size": "32m",
    "max-file": "2"
    },
    "storage-driver": "overlay2",
    "data-root": "/opt/lib/docker"
}

EOF



systemctl daemon-reload && systemctl restart docker && systemctl enable docker

安装docker-compose

curl -SL https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

ln -sf /usr/local/bin/docker-compose  /usr/bin

安装postgresql

---
version: '3.5'
services:

  postgresql:
    restart: unless-stopped
    container_name: postgresql
    image: docker.io/postgres:13
    network_mode: host
    privileged: true
    #8C/16Gb RAM 
    command: postgres -c max_connections=256 -c shared_buffers=1024MB -c work_mem=10MB -c effective_cache_size=1024MB -c maintenance_work_mem=128MB -c checkpoint_completion_target=0.9 -c commit_delay=10 -c commit_siblings=4
    volumes:
      - /app/pg/data/:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: pgpassword
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 10s
      timeout: 5s
      retries: 5