Postgresql  Docker安装运行

mac环境:

1、拉取官方镜像,并创建容器

zhoumatoMacBook-Pro:~ zhou$ docker search postgresql

NAME                                         DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
postgres The PostgreSQL object-relational database sy… [OK]
sameersbn/postgresql [OK]
paintedfox/postgresql A docker image for running Postgresql. [OK]
orchardup/postgresql https://github.com/orchardup/docker-postgres… 45 [OK] zhoumatoMacBook-Pro:~ zhou$ docker pull postgres // 拉取官方镜像 zhoumatoMacBook-Pro:~ zhou$ docker run --name pg -e POSTGRES_PASSWORD= -p 5432:5432 -d postgres // 生成容器

解释:
run ,创建并运行一个容器;

--name ,指定创建的容器的名字;

-e POSTGRES_PASSWORD=password ,设置环境变量,指定数据库的登录口令为password

-p 5432:5432 ,端口映射将容器的5432端口映射到外部机器的5432端口;

-d ,后台运行

postgres ,指定使用postgres作为镜像。

2、查看容器:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS                                            NAMES
08f294e43217 postgres "docker-entrypoint.s…" minutes ago Up minutes 0.0.0.0:->/tcp pg

关键点: 可能有一些坑,最重要的一点是docker命令中参数的顺序。

例如端口映射的-p 5432:5432的位置如果过于靠后,则会导致映射失败。

参考传送:https://blog.csdn.net/liuyueyi1995/article/details/61204205

3、连接数据库:

如果本地安装了postgres客户端:

$ psql -U postgres -h 127.0.0.1 -p
Password for user postgres:

使用容器连接:

docker exec -it pg psql -U postgres -d postgres

docker exec -it pg psql -U postgres -d postgres -h 127.0.0.1 -p 

docker exec -it pg psql -U postgres -d postgres -h localhost -p 

另外一种连接,查看容器服务的运行ip:

zhoumatoMacBook-Pro:~ zhou$ docker inspect pg |grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAddress": "172.17.0.2",
zhoumatoMacBook-Pro:~ zhou$ docker exec -it pg psql -U postgres -d postgres -h 172.17.0.2 -p
Password for user postgres:
psql (10.5 (Debian 10.5-.pgdg90+))
Type "help" for help. postgres=#

Docker-PostgresSQL的更多相关文章

  1. Nginx+PHP7.3.9 Docker镜像制作

    最近因项目需要制作了多个版本的php docker镜像,制作过程可谓是一波三折,因基于yum的方式安装php的方式在安装扩展插件时很不方便,不容易找到插件对应的yum源,所以PHP在docker镜像中 ...

  2. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  3. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  4. Docker 第一篇--初识docker

    已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...

  5. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

    环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...

  6. docker for mac 学习记录

    docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...

  7. scrapy爬虫docker部署

    spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...

  8. [原][Docker]特性与原理解析

    Docker特性与原理解析 文章假设你已经熟悉了Docker的基本命令和基本知识 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上, ...

  9. 开发者的利器:Docker 理解与使用

    困扰写代码的机器难免会被我们安装上各种各样的开发工具.语言运行环境和引用库等一大堆的东西,长久以来不仅机器乱七八糟,而且有些相同的软件还有可能会安装不同的版本,这样又会导致一个项目正常运行了,却不小心 ...

  10. 使用python自动生成docker nginx反向代理配置

    由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...

随机推荐

  1. VIM C语言函数名高亮

    VIM默认情况下,函数名是不会高亮的,将下面这段代码添加到/usr/share/vim/vim73/syntax/c.vim文件的末尾即可:   "highlight Functions s ...

  2. bootstrap历练实例:标签式的导航菜单

    本章将讲解bootstrap提供的用于定义导航元素的一些选项,它使用相同的标签和基类.nav.Bootsrtap也提供了一个用于共享标记和状态的帮助器类.改变修饰的class,可以在不同的样式间进行切 ...

  3. 实体类和JSON对象之间相互转化

    . [代码]工具类 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 ...

  4. 【搜索 技巧】Letter gaps

    需要一定技巧的搜索题 题目描述 记得做过这样一道题 Ponder This Challenge: In the string CABACB, each letter appears exactly t ...

  5. python中的list、tuple和dictionary

    列表 列表是python中最基本的数据结构之一,并且列表的数据项不需要具有相同的数据类型,创建一个列表,只需把逗号分隔的不同数据项使用方括号括起来即可.具体的定义式如下: list=['变量1','变 ...

  6. 【实验吧】guess next session&&FALSE&&NSCTF web200&&程序逻辑问题

      guess next session源码: <?php session_start(); if (isset ($_GET['password'])) { if ($_GET['passwo ...

  7. 牛客网暑期ACM多校训练营(第四场)G Maximum Mode(思维)

    链接: https://www.nowcoder.com/login?callBack=%2Facm%2Fcontest%2F142%2FG 题意: 给定n个数, 要求删去恰好m个数后的最大总数是多少 ...

  8. bs4--基本使用

    CSS 选择器:BeautifulSoup4 和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会 ...

  9. log4j动态日志级别调整

    1. 针对root logger的设置 log4j.rootLogger=INFO, CONSOLELogger.getRootLogger().setLevel(org.apache.log4j.L ...

  10. python基础-文件和目录

    字符串小练习 >>> s="1a2a3a4a5a" >>> s1=s.split('a') >>> >>> ...