下载postgres镜像
$ sudo docker pull postgres
启动postgres容器
$ sudo docker run --name mypostgres -e POSTGRES_PASSWORD=Letmein -d -p 5432:5432 postgres
上面命令会启动一个名为mypostgres的容器,并且设置postgres用户的密码为Letmein。
如果在启动容器的时候需要执行一些初始化操作,我们可以写一些脚本(比如:.sh或者.sql),然后放到scripts文件夹中,启动容器的时候使用-v参数挂载到容器中,容器启动的时候会自动执行这些脚本,比如:
$ sudo docker run --name mypostgres -e POSTGRES_PASSWORD=Letmein -d -p 5432:5432 -v `pwd`/scripts:/docker-entrypoint-initdb.d postgres
使用命令行连接到postgres数据库
启动一个容器并使用psql连接到容器
$ sudo docker run -it --rm --link mypostgres postgres psql -h mypostgres -U postgres
Password for user postgres:
psql (16.4 (Debian 16.4-1.pgdg120+1))
Type "help" for help.
postgres=# \dt
postgres=# select 1;
使用nodejs连接到postgres数据库
安装pg库
npm install pg
连接并查询postgres数据库
const { Pool, Client } = require("pg");
const pool = new Pool({
user: "postgres",
password: "Letmein",
host: "localhost",
database: "postgres",
port: 5432
});
const query = 'SELECT 1 as num';
pool.query(query, (err, res) => {
if (err) {
console.error(err)
} else {
for (const row of res.rows) {
console.log(`num: ${row.num}`)
}
}
});