如何通过Docker更改PostgreSQL的装入点?

如何通过Docker更改PostgreSQL的装入点?,postgresql,docker,Postgresql,Docker,我想为postgres:latest创建一个docker,但让数据存储在主机上。我现在就是这样做的,但似乎不起作用。有什么想法吗 docker run --name name1 -e POSTGRES_PASSWORD=PASSWORD1 -e POSTGRES_USER=USER1 -e PGDATA=/my/local/path/postgresql -e POSTGRES_DB=DB1 -d -P postgres:latest 您需要使用-v host\u path:contiaine

我想为
postgres:latest
创建一个docker,但让数据存储在主机上。我现在就是这样做的,但似乎不起作用。有什么想法吗

docker run --name name1 -e POSTGRES_PASSWORD=PASSWORD1 -e POSTGRES_USER=USER1 -e PGDATA=/my/local/path/postgresql -e POSTGRES_DB=DB1 -d -P postgres:latest
您需要使用
-v host\u path:contiainer\u path:mode

docker运行\
--姓名1\
-v/my/local/path/postgresql:/data\
-e POSTGRES_PASSWORD=PASSWORD1\
-e POSTGRES_USER=USER1\
-e PGDATA=/data\
-e POSTGRES_DB=DB1\
-d-P研究生:最新
该路径应存在于容器映像中。

您需要使用
-v host\u path:contiainer\u path:mode

docker运行\
--姓名1\
-v/my/local/path/postgresql:/data\
-e POSTGRES_PASSWORD=PASSWORD1\
-e POSTGRES_USER=USER1\
-e PGDATA=/data\
-e POSTGRES_DB=DB1\
-d-P研究生:最新

路径应该存在于容器映像中。

谢谢您的回答,但是为什么您使用
/data
而不是
/var/lib/postgresql/data
?显然,官方集装箱使用的是后者。。。我是对的,还是我不明白?此外,据我所知,新创建的目录
/my/local/path/postgresql
授予用户
999
和组
root
的权限,因此我无法在我自己的用户名下查看该目录的内容。这正常吗?如果我以后无法访问另一台计算机上的目录,如何迁移该数据?容器内的路径是任意的,使用
/var/lib/postgresql/data
就可以了。您需要一个在容器中具有与主机上的数据所有者匹配的UID的用户。请再说一遍hello。关于
UID
,并且假设我的
用户id
(在主机中)分别是
1000
1000
,这是否意味着我必须下载Docker文件,将
999
1000
,最后,构建(并运行)容器?谢谢您的回答,但是为什么您使用
/data
而不是
/var/lib/postgresql/data
?显然,官方集装箱使用的是后者。。。我是对的,还是我不明白?此外,据我所知,新创建的目录
/my/local/path/postgresql
授予用户
999
和组
root
的权限,因此我无法在我自己的用户名下查看该目录的内容。这正常吗?如果我以后无法访问另一台计算机上的目录,如何迁移该数据?容器内的路径是任意的,使用
/var/lib/postgresql/data
就可以了。您需要一个在容器中具有与主机上的数据所有者匹配的UID的用户。请再说一遍hello。关于
UID
,并且考虑到我的
用户id
(在主机中)分别是
1000
1000
,这是否意味着我必须下载Docker文件,将
999
1000
,最后构建(并运行)容器?