- 创建 docker-compose.yml 文件,内容参考
db:
container_name: pgsql //生成的容器名称
restart: always
image: postgres: latest // postgres 镜像 privileged: true //解决权限 ports: - 5432:5432 //映射端口号 environment: POSTGRES_PASSWORD: ${pwd} //密码 PGDATA: /var/lib/postgresql/data/pgdata //数据存储文件夹 volumes: - /home/server/pg_data/data:/var/lib/postgresql/data/pgdata //将数据映射到对应的路径
注:启动时可能会出现权限问题,所以添加了 privileged: true
- 使用 docker-compose 命令启动服务
docker-compose up -d
在docker-compose的时候 docker-compose up会优先使用已有的容器,而不是重新创建容器。需要带上 --force-recreate 参数重新创建容器 docker-compose up -d --force-recreate 。
docker-compose的安装
参考:https://docs.docker.com/compose/install/#prerequisites
https://www.cnblogs.com/awakenedy/articles/10944036.html
本文内容参考:
https://blog.csdn.net/sinat_20560415/article/details/81204445
注:当有多个schema(模式)时,可以设置postgresql.conf改变默认的search_path,否则需要每次登陆时设置search_path以访问不同模式下面的对象;