• Centos上docker部署postgres


    docker上快速部署Postgresql数据库,可以参考docker-postgres的官方解决方案 https://hub.docker.com/_/postgres/ 

    核心命令

    docker run --name yourappname -e POSTGRES_PASSWORD=xxx -e POSTGRES_USER=xxx -v ./data:/var/lib/postgresql/data/pgdata -d -p xxxx:5432 postgres

    命令执行步骤

    第一步:在任意机子上建立一个镜像,指定数据卷位置,并将其挂载到虚拟机上

    第二步:按照你指定的端口访问数据库,做数据初始化。包括建表和插入初始数据。

    第三步:备份数据卷。也就是上面的./data目录。

    第四步,将这个数据卷放到你的服务器上

    第五步和第一步一样。但是此时,你的数据卷里面已经有之前保存的内容了。

     1、在linux中创建目录

    [root@bb software]# mkdir -p dev-postgres/data
    [root@bb software]# cd dev-postgres/data
    [root@bb dev-postgres]# pwd
    /software/dev-postgres/data
    [root@bb dev-postgres]# 

    2、命令

    docker run --name my-postgres -e POSTGRES_PASSWORD=xxxxxx -e POSTGRES_USER=postgres -v /software/dev-postgres/data:/home/data/ -p 15555:5432 -d postgres
    -it -d 这两个参数一般同时使用,保证 container 以交互的方式在后台运行。
    --rm 这个参数是指在 container 停止时自动将 container 删除。
    --name 你在使用 docker ps 命令时看到的 container 的名字。
    -e POSTGRES_USER=dbuser 这个是设置 container 中的环境变量用的参数,指的是设计数据库用户为 dbuser 。之后登录数据库时就是使用这个用户名。
    -e POSTGRES_PASSWORD=password 同上,也是设置 container 中的环境变量,这个是设置你登录数据库的密码,这里设置的密码为"password"-e POSTGRES_DB=testdb 同上,初始化一个新的数据库,其名字为 testdb。
    -p 5432:5432 这个是将主机的端口与 container 暴露的端口进行映射。其格式为 -p 主机端口: container 端口。即 : 前为主机端口,后为 container 端口。
    -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data 挂载目录。将容器中的 /var/lib/postgresql/data 目录挂载至我们刚才新建的磁盘上的 $HOME/docker/volumes/postgres ,以便数据的持久化
    postgres 为下载下来的 image 的名字。如果你的主机上没有相应的 image ,则 docker 会自动从 dockerhub 活着你设置的源上下载相应的 image。

    3、进入容器验证

     docker exec -ti my-postgres /bin/bash
    root@b63cf7c32fb7:/bin# psql -U postgres
    psql (13.0 (Debian 13.0-1.pgdg100+1))
    Type "help" for help.
    
    postgres=# l
                                     List of databases
       Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges   
    -----------+----------+----------+------------+------------+-----------------------
     postgres  | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
     template0 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
               |          |          |            |            | postgres=CTc/postgres
     template1 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
               |          |          |            |            | postgres=CTc/postgres
    (3 rows)
    
    postgres=# 

    4、连接测试

  • 相关阅读:
    hibernate -- HQL语句总结
    Struts2文件上传的大小限制问题
    WZY社区
    MyEclipse2014 优化设置
    如何优化myeclipse.
    棋盘覆盖问题(算法分析)(Java版)
    java 十六进制颜色对照表
    sql server 2012 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值
    oracle 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值
    python 读取全国城市aqi数据,差值生成png图片
  • 原文地址:https://www.cnblogs.com/xuchen0117/p/13863509.html
Copyright © 2020-2023  润新知