I have pulled a postgres
image and created a docker container called pgdb
, which has exited. Here is what the terminal returns after typing docker ps -all
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e62fdb45c727 postgres "docker-entrypoint.s…" 19 hours ago Exited (1) 14 minutes ago pgdb
now I am trying to restart my container by typing docker exec -it pgdb bash
, however I am getting the following error message: Error response from daemon: Container e62fdb45c727baf9ca9d7b55401f870b35959a10f356a401f058f2e693adc2fd is not running
I tried to attach the container like so:
random@random-142:~$ sudo docker start pgdb
pgdb
random@random-142:~$ sudo docker attach pgdb
You cannot attach to a stopped container, start it first
but it also didnt work. Does anyone know how I could go about solving this? I am really desperate.
EDIT
container logs
random@random-142:~$ sudo docker logs pgdb
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
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
The docker container logs itself are self-explanatory. You need to specify the database and superuser password.
Add the following arguments while running your Postgres docker container:
-e "POSTGRES_DB=YOUR_DB_NAME" -e "POSTGRES_PASSWORD=YOUR_PASSWORD"
Example:
docker run -itd -p 5432:5432 -e "POSTGRES_DB=testdb" -e "POSTGRES_PASSWORD=password" --name pgdb postgres
If you are not willing to add any password, then use "POSTGRES_HOST_AUTH_METHOD=trust"
. Example:
docker run -itd -p 5432:5432 -e "POSTGRES_DB=testdb" -e "POSTGRES_HOST_AUTH_METHOD=trust" --name pgdb postgres
To restart the container you can use this command
docker start -ai "container_name"
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.