ubuntu环境上使用docker安装postgres

复制代码
$ sudo docker search postgre
NAME                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
postgres                                    The PostgreSQL object-relational database sy...   12992     [OK]       
bitnami/postgresql                          Bitnami PostgreSQL Docker Image                 255                  [OK]
cimg/postgres                                                                               1                    
bitnami/postgres-exporter                                                                   12                   
bitnami/postgresql-repmgr                                                                   23                   
ubuntu/postgres                             PostgreSQL is an open source object-relation...   32                   
rapidfort/postgresql                        RapidFort optimized, hardened image for Post...   22                   
rapidfort/postgresql-official               RapidFort optimized, hardened image for Post...   12                   
bitnamicharts/postgresql                                                                    2                    
rapidfort/postgresql12-ib                   RapidFort optimized, hardened image for Post...   11                   

参数解释:

NAME --镜像名称

DESCRIPTION --镜像描述

STARS --标星数

OFFICIAL --官方的

AUTOMATED -- 自动化

第一个为postgres官方镜像文件!我们就拉取第一个镜像。

2.拉取镜像文件 docker pull postgres

复制代码
$ sudo docker pull postgres
Using default tag: latest
latest: Pulling from library/postgres
2f44b7a888fa: Pull complete 
6d49150dabe2: Pull complete 
... 
Digest: sha256:49c276fa02e3d61bd9b8db81dfb4784fe814f50f778dce5980a03817438293e3
Status: Downloaded newer image for postgres:latest
docker.io/library/postgres:latest

3.镜像文件拉取成功l , 用 docker images看看

复制代码
$ sudo docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
postgres     latest    75b7bff7c3ad   13 days ago   425MB

4.创建挂载文件夹

复制代码
$ sudo mkdir postgresql

在固定的目录创建挂载文件夹(以后所有镜像的挂载目录都在固定目录,方便后期维护)

5.启动docker 镜像

复制代码
$ sudo docker run --name postgres --restart=always -e POSTGRES_PASSWORD=Shn123 -p 5432:5432 -v /stool/postgresql:/var/lib/postgresql/data -d postgres:latest
2526e07723ec27bab8670c869900764dc3d02c888344c2b38c006fae79c6c7ab

run: 创建并运行一个容器;
    --restart=always 表示容器退出时,docker会总是自动重启这个容器;
    --name: 指定创建的容器的名字;
    -e POSTGRES_PASSWORD=Shn123: 设置环境变量,指定数据库的登录口令为Shn123;
    -p 5432:5432: 端口映射将容器的5432端口映射到外部机器的5432端口;
    -v  /stool/postgresql:/var/lib/postgresql/data   将运行镜像的/var/lib/postgresql/data目录挂载到宿主机/stool/postgresql目录
    -d postgres:latest: 指定使用postgres:latest作为镜像。

6.查看启动日志 docker logs postgres,由于日志过多,这里仅查看5行,要是想全查,就不要带 -t -f --tail 5

复制代码
$ sudo docker logs postgres -t -f --tail 5
2024-01-18T07:29:54.405797974Z 2024-01-18 07:29:54.405 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-01-18T07:29:54.405831116Z 2024-01-18 07:29:54.405 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-01-18T07:29:54.412304129Z 2024-01-18 07:29:54.412 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-01-18T07:29:54.420699699Z 2024-01-18 07:29:54.420 UTC [63] LOG:  database system was shut down at 2024-01-18 07:29:54 UTC
2024-01-18T07:29:54.428606162Z 2024-01-18 07:29:54.428 UTC [1] LOG:  database system is ready to accept connections

7.查看运行的容器,看看镜像是否启动成功 docker ps

复制代码
$ sudo docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED         STATUS         PORTS                                       NAMES
2526e07723ec   postgres:latest   "docker-entrypoint.s..."   6 minutes ago   Up 6 minutes   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp   postgres

8.本地连接测试数据库是否连接成功

复制代码
#方法一,进入docker查看
$ sudo docker exec -it postgres bash
root@2526e07723ec:/# psql -d postgres -u postgres
#方法二,可以用自己的连接工具查看

到这里就安装成功啦~~~ 自己玩去吧~

相关推荐
IT成长日记11 分钟前
【Docker基础】Docker数据卷管理:docker volume ls及其参数详解
运维·docker·容器·volume ls
偷萧逸苦茶19 分钟前
docker常见命令
docker·容器·eureka
好奇的菜鸟10 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
好奇的菜鸟12 小时前
如何在Ubuntu上检查MySQL是否启动并放开3306端口
mysql·ubuntu·adb
高山莫衣14 小时前
Docker Desktop导致存储空间不足时的解决方案
docker·容器·eureka
鹏大师运维14 小时前
在银河麒麟V10 SP1上手动安装与配置高版本Docker的完整指南
linux·运维·docker·容器·麒麟·统信uos·中科方德
lovely_nn14 小时前
docker 介绍
docker·k8s
Ahlson14 小时前
【fnNAS】docker的nginx配置html
nginx·docker·容器·fnnas
LuckyLay14 小时前
Compose 常用命令详解——AI教你学Docker
docker·容器·eureka
moppol15 小时前
容器化 vs 虚拟机:什么时候该用 Docker?什么时候必须用 VM?
运维·docker·容器