Docker-PostgresSQL

Postgresql  Docker安装运行

mac环境:

1、拉取官方镜像,并创建容器

zhoumatoMacBook-Pro:~ zhou$ docker search postgresql

NAME                                         DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
postgres                                     The PostgreSQL object-relational database sy…   5337                [OK]                
sameersbn/postgresql                                                                         133                                     [OK]
paintedfox/postgresql                        A docker image for running Postgresql.          77                                      [OK]
orchardup/postgresql                         https://github.com/orchardup/docker-postgres…   45                                      [OK]

zhoumatoMacBook-Pro:~ zhou$ docker pull postgres  // 拉取官方镜像

zhoumatoMacBook-Pro:~ zhou$ docker run --name pg -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres  // 生成容器

解释:
run ,创建并运行一个容器;

--name ,指定创建的容器的名字;

-e POSTGRES_PASSWORD=password ,设置环境变量,指定数据库的登录口令为password

-p 5432:5432 ,端口映射将容器的5432端口映射到外部机器的5432端口;

-d ,后台运行

postgres ,指定使用postgres作为镜像。

 

2、查看容器:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS                                            NAMES
08f294e43217        postgres            "docker-entrypoint.s…"   5 minutes ago       Up 5 minutes              0.0.0.0:5432->5432/tcp                           pg

关键点: 可能有一些坑,最重要的一点是docker命令中参数的顺序。

例如端口映射的-p 5432:5432的位置如果过于靠后,则会导致映射失败。

 

参考传送:https://blog.csdn.net/liuyueyi1995/article/details/61204205

3、连接数据库:

如果本地安装了postgres客户端:

$ psql -U postgres -h 127.0.0.1 -p 5432
Password for user postgres: 

 

使用容器连接:

docker exec -it pg psql -U postgres -d postgres

docker exec -it pg psql -U postgres -d postgres -h 127.0.0.1 -p 5432

docker exec -it pg psql -U postgres -d postgres -h localhost -p 5432

另外一种连接,查看容器服务的运行ip:

zhoumatoMacBook-Pro:~ zhou$ docker inspect pg |grep IPAddress
"SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",
zhoumatoMacBook-Pro:~ zhou$ docker exec -it pg psql -U postgres -d postgres -h 172.17.0.2 -p 5432
Password for user postgres: 
psql (10.5 (Debian 10.5-1.pgdg90+1))
Type "help" for help.

postgres=# 

 

posted @ 2018-08-17 14:47  静静别跑  阅读(3622)  评论(0编辑  收藏  举报