Q:

Docker - How can run the psql command in the postgres container? 

I would like to use the psql in the postgres image in order to run some queries on the database. 
But unfortunately when I attach to the postgres container, I got that error the psql command is not found...
For me a little bit it is a mystery how I can run postgre sql queries or commands in the container. 
How run the psql command in the postgres container? ( I am a new guy in Docker world)
I use Ubuntu as a host machine, and I did not install the postgres on the host machine, I use the postgres container instead. 
docker-compose ps
        Name                       Command               State               Ports            
---------------------------------------------------------------------------------------------
yiialkalmi_app_1        /bin/bash                        Exit 0                               
yiialkalmi_nginx_1      nginx -g daemon off;             Up       443/tcp, 0.0.0.0:80->80/tcp 
yiialkalmi_php_1        php-fpm                          Up       9000/tcp                    
yiialkalmi_postgres_1   /docker-entrypoint.sh postgres   Up       5432/tcp                    
yiialkalmi_redis_1      docker-entrypoint.sh redis ...   Up       6379/tcp     

Here the containers:
docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                         NAMES
315567db2dff        yiialkalmi_nginx    "nginx -g 'daemon off"   18 hours ago        Up 3 hours          0.0.0.0:80->80/tcp, 443/tcp   yiialkalmi_nginx_1
53577722df71        yiialkalmi_php      "php-fpm"                18 hours ago        Up 3 hours          9000/tcp                      yiialkalmi_php_1
40e39bd0329a        postgres:latest     "/docker-entrypoint.s"   18 hours ago        Up 3 hours          5432/tcp                      yiialkalmi_postgres_1
5cc47477b72d        redis:latest        "docker-entrypoint.sh"   19 hours ago        Up 3 hours          6379/tcp                      yiialkalmi_redis_1

And this is my docker-compose.yml:
app:
image: ubuntu:16.04
volumes:
    - .:/var/www/html

nginx:
    build: ./docker/nginx/
    ports:
        - 80:80
    links:
        - php
    volumes_from:
        - app
    volumes:
        - ./docker/nginx/conf.d:/etc/nginx/conf.d

php:
    build: ./docker/php/
    expose:
        - 9000
    links:
        - postgres
        - redis
    volumes_from:
        - app

postgres:
    image: postgres:latest
    volumes:
        - /var/lib/postgres
    environment:
        POSTGRES_DB: project
        POSTGRES_USER: project
        POSTGRES_PASSWORD: project

redis:
    image: redis:latest
    expose:
        - 6379

A:

docker exec -it yiialkalmi_postgres_1 psql -U project -W project project

Some explanation

docker exec -it 
The command to run a command to a running container.  The it flags open an interactive tty.  Basically it will cause to attach to the terminal.  If you wanted to open the bash terminal you can do this

docker exec -it yiialkalmi_postgres_1 bash

yiialkalmi_postgres_1 
The container name (you could use the container id instead, which in your case would be 40e39bd0329a)
psql -U project -W project
The command to execute to the running container
U user
W password
project the database you want to connect to. 

These are specified by you here
environment:
    POSTGRES_DB: project
    POSTGRES_USER: project
    POSTGRES_PASSWORD: project

A:

If you want to restore the database in a containder you can do this
docker exec -i app_db_1 psql -U postgres < app_development.back

Dont' forget to add -i
:)

A:

You can enter inside the postgres container using docker-compose by typing the following
docker-compose exec postgres bash

knowing that postgres is the name of the service.  Replace it with the name of the Postgresql service in you docker-compose file. 
if you have many docker-compose files, you have to add the specific docker-compose.yml file you want to execute the command with.  Use the following commnand instead. 
docker-compose -f < specific docker-compose.yml> exec postgres bash

For example if you want to run the command with a docker-compose file called local.yml, here the command will be 
docker-compose -f local.yml exec postgres bash

Then, use psql command and specify the database name with the -d flag and the username with the -U flag
psql -U <database username you want to connect with> -d <database name>

Baammm!!!!!  you are in.