连接到在docker容器中运行的PostgreSQL

时间:2016-11-02 21:36:59

标签: postgresql docker docker-compose

我有一个简单的Flask应用程序,使用docker-compose运行PostgreSQL实例。如何连接终端中的数据库?

router.post('/movies', upload.single('image'), function(req, res, next) {
var movie = new Movie(req.body);
movie.fileName = req.file.filename;
movie.save(function(err, movie){
    if(err) return next(err);
    res.json(movie);
}); });

1 个答案:

答案 0 :(得分:0)

我认为您需要将postgres移到Web应用程序之上。

version: '2'
services:
    postgres:
        image: postgres:9.4
        # container_name:
        #    - my_postgres_1
        ports:
            - 5432:5432
        environment:
            POSTGRES_PASSWORD: mysecretpassword
            POSTGRES_USER: postgres
            POSTGRES_DB: postgresdb
    web:
        build: .
        command: python manage.py runserver
        volumes:
            - .:/app
        ports:
            - 5000:5000
        # links:
        #    - postgres
        env_file:
            - .env

运行docker-compose -d up后。您可以通过运行此Docker命令通过psql访问postgres。请获取您的postgres容器名称,即my_postgres_1

docker run -it --rm --link my_postgres_1:postgres postgres psql -h postgres -U postgres
相关问题