1.由于使用compose进行安装,所以先安装docker-compose。
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
2.宿主机中新建数据库目录,并授予其写入权限
mkdir -p /var/lib/postgresql/data
sudo chmod -R 777 /var/lib/postgresql/data
2.新建docker-compose.yml文件,配置postgres
version: '3.8'
services:
postgres:
container_name: postgres
image: postgres
privileged: true
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} #请自己修改密码
PGDATA: /var/lib/postgresql/data
volumes:
- /var/lib/postgresql/data:/var/lib/postgresql/data
ports:
- "5432:5432"
networks:
network_172_19:
ipv4_address: 172.19.0.19
restart: unless-stopped
pgadmin:
container_name: pgadmin
image: dpage/pgadmin4:4.18 #使用2.26版本会出现无法链接数据库的错误,所以我用4.18版本。
privileged: true
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-76589755@qq.com}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin} #请自己修改密码
volumes:
- /var/lib/pgadmin/data:/root/.pgadmin
ports:
- "${PGADMIN_PORT:-5438}:80"
networks:
network_172_19:
ipv4_address: 172.19.0.20
restart: unless-stopped
networks:
network_172_19:
ipam:
driver: default
config:
- subnet: 172.19.0.0/24
这里我们创建了网络network_172_19,用docker-compose rm删除容器的时候,该网络如果不能删除的,需要手动删除。docker network rm network_172_19即可。
访问http://server-ip:5438即可进入pgadmin。
评论区