我用一个自己做的镜像上传到了dockerhub中,然后使用windows拉取pull下来之后,启动不成功:
可以看到,虽然启动了,但是docker ps 后没有看到正在运行的容器,所以我就怀疑启动失败了,但是我又不知道失败原因,然后使用docker ps -a 查看一下容器的id:
然后使用docker logs 容器id查看一下启动的时候报错原因:
docker logs 容器id
Error: Database is uninitialized and superuser password is not specified.
You must specify POSTGRES_PASSWORD to a non-empty value for the
superuser. For example, "-e POSTGRES_PASSWORD=password" on "docker run".You may also use "POSTGRES_HOST_AUTH_METHOD=trust" to allow all
connections without a password. This is *not* recommended.See PostgreSQL documentation about "trust":
https://www.postgresql.org/docs/current/auth-trust.html
原来是需要密码参数,那就带上-e POSTGRES_PASSWORD=password试一下:
docker run -d -p 5433:5432 --name sunpgpod -e POSTGRES_PASSWORD=postgres 6ce504119cc8
又报错了,原来是容器的名称重复了,那就删除之前的或者重新取一个名字吧
重新取了一个名字好了:
用数据库也可以正常连接上我的这个pg容器了: