如何解决如何在Docker中启动Postgres?
我使用以下命令在docker中运行postgres:
docker run --name postgres-ssl --network=host -e POSTGRES_DB=smmjaipgdb -e POSTGRES_PASSWORD=smmJAIpgpassword -e POSTGRES_USER=smmjaipguser -p 5432:5432 -v /var/lib/postgresql/data:/var/lib/postgresql/data -v /home/mvp_dev:/var/lib/postgresql/ssl postgres:11 -c ssl=on -c ssl_cert_file=/var/lib/postgresql/ssl/server.cer -c ssl_key_file=/var/lib/postgresql/ssl/server.key
我将证书和密钥放在适当的位置,并将root设置为具有许可权的密钥所有者:
chown 0 server.key & chmod 600 server.key
我运行docker并收到错误消息:
could not load private key file "/var/lib/postgresql/ssl/server.key": Permission denied
您能帮助我成功运行postgres! 我做错了什么?
解决方法
- 从docker hub中拉出最新的稳定版本或您选择的Postgres映像的版本。
docker pull postgres:[tag_you_want]
- 创建目录以用作Postgres数据文件的本地主机挂载点
如果您要在容器的生命周期内保留由在容器内运行的Postgres实例生成的数据,则需要将本地安装点作为数据卷映射到容器内的适当路径。
mkdir -p $HOME/docker/volumes/postgres
- 运行Postgres容器
启动Postgres容器就像运行docker run命令一样简单。
docker run --rm --name pg-docker -e POSTGRES_PASSWORD=docker -d -p 5432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data postgres
- 连接到Postgres
psql -h localhost -U postgres -d postgres
有关此的更多信息,请点击this链接。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。