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
#方法二,可以用自己的连接工具查看

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

相关推荐
帝国辉耀13 小时前
docker、docker daemon、k8s、dockershim、containerd之间的关系
docker·容器·kubernetes
明明跟你说过3 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
2301_794333916 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
Molesidy6 小时前
【UAV】基于PX4+Ubuntu24.04.3的无人机制作的开发环境搭建
ubuntu·无人机·px4·gazebo·uav
JCGKS6 小时前
Docker|“ssh: connect to host xxx.xxx.xxx.xxx port 8000: Connection refused“问题解决
docker·ssh·端口·listen·tcp三次握手
惜.己7 小时前
Docker启动失败 Failed to start Docker Application Container Engine.
spring cloud·docker·eureka
scugxl7 小时前
centos7 docker离线安装
运维·docker·容器
绿箭柠檬茶9 小时前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu
计算机小手10 小时前
AI 驱动数据分析:开源 SQLBot 项目探索,基于大模型和 RAG 实现精准问数与图表挖掘
经验分享·docker·开源软件
AI大模型10 小时前
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
docker·llm·deepseek