一 安装
dokcer pull postgres
(如需下载特定版本,docker pull postgres:9.6,即拉取9.6版本的postgresql)
二 启动
docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 1885:5432 -d postgres
(启动特定版本:docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:9.6)
注解:
run:创建并运行一个容器
–name:制定创建的容器的名字
-e:指定容器内的环境变量,指定数据库的登陆口令为设置的“123456”
-p 1885:5432:端口映射,将容器的5432端口映射到外部机器的1885端口
(如果需要外部远程连接,且是阿里云租用的服务器,需要在阿里云的云控制台将5432端口对外开放)
-d:postgres:指定使用postgres:latest作为镜像
(-d postgres:9.4,指定使用postgres:9.4作为镜像)
tips:
postgres镜像默认的用户名为postgres
登陆口令为创建容器时指定的值(本文为“123456”)
三 进入启动的postgres容器
docker exec -it postgres /bin/bash
注解:
exec: Run a command in a running container(在运行的容器中运行命令,即exec命令执行后你会进入你想进入的容器中,在容器中运行你想运行的命令)
-i:–interactive,“Keep STDIN open even if not attached”(交互式的使你想进入的容器内的标准输入保持打开,换言之,打开一个容器内的输入模式,可以输入命令使用容器,并且还得一直可以输入命令,一直能与容器交互)
-t:–tty," Allocate a pseudo-TTY"(分配一个伪终端,即给你一个终端)
-it:给你一个可以随时随地与你想进入容器交互的终端
/bin/bash:作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动bash。
总结:docker exec -it postgres /bin/bash 进入了一个命令行模式,但是这个命令行模式介于你的虚拟机环境和postgres容器之间,如果想进入postgres的命令行还需要如下操作:
psql -U postgres
注意:-U 必须大写
至此,我们进入到了postgresql的命令行模式:
postgres=#
(一点浅薄的见解,学习期间看了一些博客总结的一点小经验,水平有限,肯定有不足之处,望各位大佬指正,挚谢)