Postgresql postgres上的Docker容器:无法启动最新映像
我最近下载了docker(MacOSX10.15.4)并安装了它。我按照我在PostgreSQL站点上找到的说明来拉取postgres(最新版本)并运行一个容器。工作得很好。我可以从PgAdmin4连接到它。然后,我决定从生产备份中恢复数据库,我决定在备份存在的地方装载一个额外的卷。我不能用相同的名称启动一个容器,而且我在该容器中没有做任何事情,所以我删除了它和所有卷。在使用与我在附加装载中成功使用的相同命令启动容器之后,我失败了。我决定将Docker重置为出厂设置。这样做之后,我又试了一次。它不起作用。容器启动后立即死亡。我不知道为什么Postgresql postgres上的Docker容器:无法启动最新映像,postgresql,docker,Postgresql,Docker,我最近下载了docker(MacOSX10.15.4)并安装了它。我按照我在PostgreSQL站点上找到的说明来拉取postgres(最新版本)并运行一个容器。工作得很好。我可以从PgAdmin4连接到它。然后,我决定从生产备份中恢复数据库,我决定在备份存在的地方装载一个额外的卷。我不能用相同的名称启动一个容器,而且我在该容器中没有做任何事情,所以我删除了它和所有卷。在使用与我在附加装载中成功使用的相同命令启动容器之后,我失败了。我决定将Docker重置为出厂设置。这样做之后,我又试了一次。它
2020-05-06T11:41:55.463179196-04:00 container create 109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa (image=postgres, name=pg-docker)
2020-05-06T11:41:55.496823194-04:00 network connect 7c37295bd5df3fadec72496e023e329ee966f4c70544a6a6aa0c97e2fab2a903 (container=109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa, name=bridge, type=bridge)
2020-05-06T11:41:55.705673026-04:00 container start 109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa (image=postgres, name=pg-docker)
2020-05-06T11:41:55.812712608-04:00 container die 109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa (exitCode=1, image=postgres, name=pg-docker)
2020-05-06T11:41:55.888199562-04:00 network disconnect 7c37295bd5df3fadec72496e023e329ee966f4c70544a6a6aa0c97e2fab2a903 (container=109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa, name=bridge, type=bridge)
2020-05-06T11:41:55.908164483-04:00 container destroy 109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa (image=postgres, name=pg-docker)
我想这和网络有关,但我不知道是什么。我想也许我的本地主机没有放弃5432,所以我尝试使用-p5435:5432来改变它,但这也不起作用。
我怎样才能知道发生了什么事
我用来运行容器的命令是:
docker run --rm --name pg-docker -e POSTGRES_PASSWORD=docker -d -p 5432:5432 -v $HOME/Documents/video:/backup -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data postgres
这来自Docker在尝试启动容器时报告的控制台应用程序:
default 11:41:55.407542-0400 com.docker.driver.amd64-linux proxy >> HEAD /_ping
default 11:41:55.409288-0400 com.docker.driver.amd64-linux proxy << HEAD /_ping (1.746372ms)
default 11:41:55.411046-0400 com.docker.driver.amd64-linux proxy >> POST /v1.40/containers/create?name=pg-docker
default 11:41:55.461261-0400 com.docker.driver.amd64-linux proxy << POST /v1.40/containers/create?name=pg-docker (50.197222ms)
default 11:41:55.462152-0400 com.docker.driver.amd64-linux proxy >> POST /v1.40/containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/wait?condition=removed
default 11:41:55.464062-0400 com.docker.driver.amd64-linux proxy >> POST /v1.40/containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/start
default 11:41:55.464859-0400 com.docker.driver.amd64-linux proxy >> GET /containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/json
default 11:41:55.465967-0400 com.docker.driver.amd64-linux osxfsApprover.Approve([src=/Users/jboss/Documents/video,dst=/backup,option= src=/Users/jboss/docker/volumes/postgres,dst=/var/lib/postgresql/data,option=])
default 11:41:55.466197-0400 com.docker.osxfs Volume.approve /none (paths = [/Users/jboss/Documents/video:state=default, /Users/jboss/docker/volumes/postgres:state=default])
default 11:41:55.466882-0400 com.docker.osxfs Volume.approve /none (watches [/Users/jboss/docker/volumes/postgres -> /Users/jboss/docker/volumes/postgres (state=default), /Users/jboss/Documents/video -> /Users/jboss/Documents/video (state=default)])
default 11:41:55.466871-0400 com.docker.driver.amd64-linux proxy << GET /containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/json (2.016717ms)
default 11:41:55.467111-0400 com.docker.driver.amd64-linux vpnkitApprover.Approve([TCP 0.0.0.0:5432])
default 11:41:55.467338-0400 com.docker.backend external: GET /forwards/list 200 "Go-http-client/1.1" ""
default 11:41:55.467505-0400 com.docker.driver.amd64-linux vpnkitExposer.Add(approver-1371561297748223034, [TCP 0.0.0.0:5432 -> 0.0.0.0:0])
default 11:41:55.467730-0400 com.docker.backend adding docker-proxy-port-approver/approver-1371561297748223034 tcp forward from 0.0.0.0:5432 to 0.0.0.0:0
default 11:41:55.467873-0400 com.docker.backend external: POST /forwards/expose/port 200 "Go-http-client/1.1" ""
default 11:41:55.468002-0400 com.docker.driver.amd64-linux vpnkitExposer.Remove(approver-1371561297748223034)
default 11:41:55.468159-0400 com.docker.backend external: GET /forwards/list 200 "Go-http-client/1.1" ""
default 11:41:55.468420-0400 com.docker.backend removing docker-proxy-port-approver/approver-1371561297748223034 tcp forward from 0.0.0.0:5432 to 0.0.0.0:0
default 11:41:55.468511-0400 com.docker.backend stopping accepting connections on docker-proxy-port-approver/approver-1371561297748223034 tcp forward from 0.0.0.0:5432 to 0.0.0.0:0
default 11:41:55.468554-0400 com.docker.backend external: POST /forwards/unexpose/port 200 "Go-http-client/1.1" ""
default 11:41:55.472629-0400 com.docker.hyperkit [ 494.229979] docker0: port 1(vetheef523c) entered blocking state
default 11:41:55.473438-0400 com.docker.hyperkit [ 494.230826] docker0: port 1(vetheef523c) entered disabled state
default 11:41:55.474180-0400 com.docker.hyperkit [ 494.231632] device vetheef523c entered promiscuous mode
default 11:41:55.475174-0400 com.docker.hyperkit [ 494.232437] IPv6: ADDRCONF(NETDEV_UP): vetheef523c: link is not ready
default 11:41:55.538427-0400 com.docker.hyperkit [ 494.295944] IPVS: ftp: loaded support on port[0] = 21
default 11:41:55.559931-0400 mDNSResponder [R757855] DNSServiceQueryRecord(11000, 0, <private>, AAAA) START PID[25818](com.docker.supe)
default 11:41:55.560089-0400 mDNSResponder [R757856] DNSServiceQueryRecord(11000, 0, <private>, Addr) START PID[25818](com.docker.supe)
default 11:41:55.560372-0400 mDNSResponder [R757855] DNSServiceQueryRecord(11000, 0, <private>, AAAA) STOP PID[25818](com.docker.supe)
default 11:41:55.560431-0400 mDNSResponder [R757856] DNSServiceQueryRecord(11000, 0, <private>, Addr) STOP PID[25818](com.docker.supe)
default 11:41:55.591696-0400 mDNSResponder [R757857] DNSServiceQueryRecord(11000, 0, <private>, Addr) START PID[25818](com.docker.supe)
default 11:41:55.591860-0400 mDNSResponder [R757858] DNSServiceQueryRecord(11000, 0, <private>, AAAA) START PID[25818](com.docker.supe)
default 11:41:55.592174-0400 mDNSResponder [R757857] DNSServiceQueryRecord(11000, 0, <private>, Addr) STOP PID[25818](com.docker.supe)
default 11:41:55.592269-0400 mDNSResponder [R757858] DNSServiceQueryRecord(11000, 0, <private>, AAAA) STOP PID[25818](com.docker.supe)
default 11:41:55.629451-0400 com.docker.hyperkit [ 494.387147] eth0: renamed from vethba1ca3b
default 11:41:55.641628-0400 com.docker.hyperkit [ 494.399002] IPv6: ADDRCONF(NETDEV_CHANGE): vetheef523c: link becomes ready
default 11:41:55.642402-0400 com.docker.hyperkit [ 494.399924] docker0: port 1(vetheef523c) entered blocking state
default 11:41:55.643290-0400 com.docker.hyperkit [ 494.400731] docker0: port 1(vetheef523c) entered forwarding state
default 11:41:55.703285-0400 com.docker.driver.amd64-linux proxy << POST /v1.40/containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/start (239.215298ms)
default 11:41:55.704258-0400 com.docker.driver.amd64-linux Cancel connection...
default 11:41:55.705234-0400 com.docker.driver.amd64-linux proxy << POST /v1.40/containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/wait?condition=removed (243.069643ms)
default 11:41:55.705255-0400 com.docker.backend osxfsSharer.Add(109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa, [src=/Users/jboss/Documents/video,dst=/backup,option= src=/Users/jboss/docker/volumes/postgres,dst=/var/lib/postgresql/data,option=])
default 11:41:55.705529-0400 com.docker.osxfs Volume.approve docker/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa (paths = [/Users/jboss/Documents/video:state=default, /Users/jboss/docker/volumes/postgres:state=default])
default 11:41:55.705797-0400 com.docker.backend vpnkitExposer.Add(109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa, [TCP 0.0.0.0:5432 -> 127.0.0.1:5432])
default 11:41:55.705890-0400 com.docker.backend adding docker-containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa tcp forward from 0.0.0.0:5432 to 127.0.0.1:5432
default 11:41:55.705997-0400 com.docker.driver.amd64-linux proxy >> GET /containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/json
default 11:41:55.706270-0400 com.docker.osxfs Volume.approve docker/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa (watches [/Users/jboss/docker/volumes/postgres -> /Users/jboss/docker/volumes/postgres (state=default), /Users/jboss/Documents/video -> /Users/jboss/Documents/video (state=default)])
default 11:41:55.706309-0400 com.docker.osxfs Volume.start docker/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa (paths = [/Users/jboss/Documents/video:state=default, /Users/jboss/docker/volumes/postgres:state=default])
default 11:41:55.706399-0400 com.docker.osxfs callback_change_opts_if_different pin=true old_opts=state=default new_opts=state=default subtree=((node((path"")(subscribers())(opts((state Default)))(change_opts <fun>)(sub())))(children()))
default 11:41:55.707102-0400 com.docker.osxfs callback_change_opts_if_different pin=true old_opts=state=default new_opts=state=default subtree=((node((path"")(subscribers())(opts((state Default)))(change_opts <fun>)(sub())))(children()))
default 11:41:55.707885-0400 com.docker.driver.amd64-linux proxy << GET /containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/json (1.902123ms)
default 11:41:55.810340-0400 com.docker.backend osxfsSharer.Remove(109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa)
default 11:41:55.810483-0400 com.docker.backend vpnkitExposer.Remove(109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa)
default 11:41:55.810596-0400 com.docker.osxfs Volume.stop docker/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa (paths = [/Users/jboss/Documents/video:state=default, /Users/jboss/docker/volumes/postgres:state=default])
default 11:41:55.810616-0400 com.docker.backend removing docker-containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa tcp forward from 0.0.0.0:5432 to 127.0.0.1:5432
default 11:41:55.810762-0400 com.docker.backend stopping accepting connections on docker-containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa tcp forward from 0.0.0.0:5432 to 127.0.0.1:5432
default 11:41:55.811214-0400 com.docker.osxfs callback_change_opts_if_different pin=false old_opts=state=default new_opts=state=default subtree=((node((path /Users/jboss/Documents/video)(subscribers((docker/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa((container docker/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa)(mount_opts((state Default)))(path_segs(Users jboss Documents video))(osxfs_state((mount((export_path /Users)(export_root /Users)(mount_path /Users)))(nodes <opaque>)(max_read 1048576)(perfstat <opaque>)(chan(<opaque>))(events true)))(node_id 4)))))(opts((state Default)))(change_opts <fun>)(sub((Watch Stopped)))))(children()))
default 11:41:55.811692-0400 com.docker.osxfs callback_change_opts_if_different pin=false old_opts=state=default new_opts=state=default subtree=((node((path /Users/jboss/docker/volumes/postgres)(subscribers((docker/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa((container docker/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa)(mount_opts((state Default)))(path_segs(Users jboss docker volumes postgres))(osxfs_state((mount((export_path /Users)(export_root /Users)(mount_path /Users)))(nodes <opaque>)(max_read 1048576)(perfstat <opaque>)(chan(<opaque>))(events true)))(node_id 7)))))(opts((state Default)))(change_opts <fun>)(sub((Watch Stopped)))))(children()))
default 11:41:55.812771-0400 com.docker.driver.amd64-linux proxy >> GET /containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/json
default 11:41:55.823077-0400 com.docker.hyperkit [ 494.580710] docker0: port 1(vetheef523c) entered disabled state
default 11:41:55.823694-0400 com.docker.hyperkit [ 494.581567] vethba1ca3b: renamed from eth0
default 11:41:55.847177-0400 com.docker.hyperkit [ 494.604827] docker0: port 1(vetheef523c) entered disabled state
default 11:41:55.848427-0400 com.docker.hyperkit [ 494.606157] device vetheef523c left promiscuous mode
default 11:41:55.849209-0400 com.docker.hyperkit [ 494.606875] docker0: port 1(vetheef523c) entered disabled state
default 11:41:55.904035-0400 com.docker.driver.amd64-linux proxy << GET /containers/109ba7f699164a17aae50ef34d6f90a6aea86023ef7f270f8451f4b555d8f0aa/json (91.26475ms)
尝试
docker container ps-a
,它将显示所有容器。您可以使用docker container rm
删除旧容器,然后创建新容器。尝试docker container ps-a
,它将显示所有容器。您可以使用docker container rm删除旧的,然后创建新的。我终于开始工作了。我删除了~/docker/volumes/postgres并重新创建了它。集装箱马上启动了 我终于有办法了。我删除了~/docker/volumes/postgres并重新创建了它。集装箱马上启动了 容器不存在。没有容器存在。您可以从docker事件的输出中看到容器启动、死亡、网络断开连接以及容器被破坏。我刚刚添加了它,然后看到了您的问题。请确保$HOME/docker/volumes/postgres拥有正确的所有者,所有者应为999,否则postgresI将尝试您的建议,但我可以告诉您,当它起作用时,我刚刚创建了~/docker/volumes/postgres作为用户jboss,它启动得很好,并用人们通常看到的postgres数据目录填充了该目录。移除容器时,我还清空了文件夹中的所有内容(随后移除了所有卷,然后将Docker重置为出厂设置)。容器不存在。没有容器存在。您可以从docker事件的输出中看到容器启动、死亡、网络断开连接以及容器被破坏。我刚刚添加了它,然后看到了您的问题。请确保$HOME/docker/volumes/postgres拥有正确的所有者,所有者应为999,否则postgresI将尝试您的建议,但我可以告诉您,当它起作用时,我刚刚创建了~/docker/volumes/postgres作为用户jboss,它启动得很好,并用人们通常看到的postgres数据目录填充了该目录。当我移除容器时,我也清空了文件夹中的所有内容(随后移除了所有卷,然后将Docker重置为出厂设置)。仅供参考,您可能应该改用,而不是以这种方式处理内部内容。获取具有docker volume ls
的列表。我已经使用您的方法删除了所有docker volume。它没有删除物理位置。这是我硬盘上的一个挂载点。关键是,一旦被Postgres映像写入,我就无法在同一装载点上成功启动另一个映像,直到我将其从硬盘中删除并重新创建。仅供参考,您可能应该改用,而不是以这种方式处理内部。获取具有docker volume ls
的列表。我已经使用您的方法删除了所有docker volume。它没有删除物理位置。这是我硬盘上的一个挂载点。问题是,一旦被Postgres映像写入,我就无法在同一装载点上成功启动另一个映像,直到我将其从硬盘中删除并重新创建。
jboss@JBoss-iMac-Pro 12 % docker network ls
NETWORK ID NAME DRIVER SCOPE
7c37295bd5df bridge bridge local
22776a78550b host host local
47520ea94014 none null local
jboss@JBoss-iMac-Pro 12 %