skip to Main Content

I am learning Docker. I have practiced a lot, including testing commands from the official Postgres page on dockerhub.

I ran this command:

docker run -it --rm --network some-network postgres psql -h some-postgres -U postgres 

Could someone give a complete and concrete example to make this command work (i mean with a real existing container). I can’t see how it could work.

2

Answers


  1. docker run create a docker container
    -it create a connection to said container (kinda like TTY) taking in what we write into interactive bash in the container
    --rm delete the container when it exit
    --network some-network assign some-network network to the container
    postgres name of the image
    psql -h some-postgres -U postgres connect to PostgreSQL at some-postgres address using postgres user.

    Combine the entire command and flags: create a PostgreSQL container and the use the psql command from inside the container to connect to some-postgres using postgres user
    For more flags and usage, you can learning from the doc here

    Login or Signup to reply.
  2. Probably, in the Docker hub page is not perfectly clear but your command is used to connect to an already existing Postgres instance.

    So, for example, you first create a container with the command:

    docker run -it --rm --name postgresql -p 5432:5432 -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=admin -d postgres:latest
    

    then you can execute your command to connet to it

    docker run -it --rm postgres psql -h <your_ip> -U postgres
    

    If your container is running locally, you can get the ip from the bash command ip address

    The network attibute is related to the container you first startup so you can decide to leave or remove from the command in relation to the container deploy.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search