使用 docker 安装 PostgreSQL 数据库(翻译)

原文地址: https://hackernoon.com/dont-install-postgres-docker-pull-postgres-bee20e200198

获取Postgres Docker镜像

1
docker pull postgres

:后跟上你上指定的镜像版本,上面的默认是postgres:latest

1
docker pull postgres:[tag_you_want]

创建目录将本地挂载点作为数据卷映射到容器内

1
mkdir -p $HOME/docker/volumes/postgres

运行Postgres容器

1
docker run --rm   --name pg-docker -e POSTGRES_PASSWORD=root -d -p 5432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data  postgres

以下翻译使用google翻译得来的,不太准确

我们为docker run命令提供了几个选项:

  • rm:退出时自动删除容器及其关联的文件系统。通常,如果我们运行大量短期容器,最好将rm标志传递给docker run命令以进行自动清理并避免磁盘空间问题。我们总是可以使用v选项(如下所述)将数据持久化到容器的生命周期之外
  • name:容器的标识名称。我们可以选择任何我们想要的名字。请注意,两个现有(即使它们已停止)容器不能具有相同的名称。要重新使用名称,您需要将rm标志传递给docker run命令,或者使用命令docker rm [container name]显式删除容器。
    -e:使用值docker将名称为POSTGRES_PASSWORD的环境变量暴露给容器。此环境变量设置PostgreSQL的超级用户密码。我们可以将POSTGRES_PASSWORD设置为我们喜欢的任何东西。我只是选择它作为船坞进行演示。您可以设置其他环境变量。这些包括POSTGRES_USER和POSTGRES_DB。POSTGRES_USER设置超级用户名。如果未提供,则超级用户名默认为postgres。POSTGRES_DB设置要设置的默认数据库的名称。如果未提供,则默认为POSTGRES_USER的值。
    -d:以分离模式或换句话说,在后台启动容器。
    -p:将localhost上的端口5432绑定到容器内的端口5432。此选项使运行在容器一侧的应用程序能够连接到在容器内运行的Postgres服务器。
    -v:将主机上的$ HOME / docker / volumes / postgres挂载到容器内创建的容器侧卷路径/ var / lib / postgresql / data中。这可确保即使在删除容器后postgres数据仍然存在。

连接到Postgres

一旦容器运行正常,从应用程序连接到该容器与连接到在docker容器外部运行的Postgres实例没有什么不同。例如,要使用psql进行连接,我们可以执行

1
psql -h localhost -U postgres -d postgres
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2023 高行行
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信