博客
关于我
【postgres】CentOS7.x上docker安装postgres
阅读量:365 次
发布时间:2019-03-03

本文共 3009 字,大约阅读时间需要 10 分钟。

CentOS7 上 Docker 安装及 PostgreSQL 配置指南

一、实验环境

  • 操作系统:CentOS 7.5 最小化版
  • IP 地址:192.168.1.104
  • Docker 版本:18.06.0-ce
  • PostgreSQL 镜像版本:9.6

二、Docker 安装步骤

1. 关闭 SELINUX

# setenforce 0# sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

2. 下载并安装 Docker 二进制包

# yum -y install wget# wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.0-ce.tgz# tar -zxf docker-18.06.0-ce.tgz# cp ./docker/docker* /usr/bin

3. 创建 Docker 服务单位文件

# vim /etc/systemd/system/docker.service
[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notifyExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPIDLimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinityRestart=on-failureStartLimitBurst=3StartLimitInterval=60sDelegate=yesKillMode=process[Install]WantedBy=multi-user.target

4. 启动 Docker 服务并设置开机自启

# systemctl daemon-reload# systemctl start docker# systemctl enable docker# docker info# docker version

5. 设置镜像加速

# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io# systemctl restart docker

三、PostgreSQL 初始化

1. 拉取 PostgreSQL 镜像

# docker pull postgres:9.6# docker images

2. 启动 PostgreSQL 容器并验证

# docker run -it --rm postgres:9.6 cat /etc/issue# docker run -it --rm postgres:9.6 cat /etc/passwd

3. 创建持久化存储目录并启动容器

# mkdir -p /var/lib/postgresql/data# docker run -it -v /var/lib/postgresql/data:/var/lib/postgresql/data -p 5432:5432 postgres:9.6

4. 查看容器状态

# docker ps -a# ss -tan | grep 5432

5. 开放数据库端口

# firewall-cmd --zone=public --add-port=5432/tcp --permanent# firewall-cmd --reload

6. 命令行登录 PostgreSQL

# docker exec -it -u postgres postgres bash# psql# postgres=# \l

四、将 PostgreSQL 服务注册为系统服务

1. 删除初始化容器

# docker stop postgres# docker rm postgres

2. 创建 systemd Unit 文件

# vim /etc/systemd/system/postgres.service
[Unit]Description=Postgres ServerAfter=network-online.target docker.serviceRequires=docker.service[Service]ExecStartPre=-/usr/bin/docker rm -f postgresExecStart=/usr/bin/docker run -p 5432:5432 -v /var/lib/postgresql/data:/var/lib/postgresql/data postgres:9.6ExecStop=/usr/bin/docker stop postgresLimitNOFILE=65535Restart=on-failureStartLimitBurst=3StartLimitInterval=60s[Install]WantedBy=multi-user.target

3. 启动并设置开机自启

# systemctl daemon-reload# systemctl start postgres# systemctl enable postgres# systemctl status postgres

五、PostgreSQL 网页版管理工具 pgAdmin

1. 下载并安装 pgAdmin

  • Windows 版本:https://www.pgadmin.org/download/pgadmin-4-windows
  • 官方文档:https://docs.pgadmin.org/docs/4.6/tutorials/install.html

2. 使用 pgAdmin 管理 PostgreSQL

  • 访问地址:http://127.0.0.1:59484/browser/#
  • 中文界面配置
  • 点击“File”菜单,选择“Preferences”。
  • 在左侧找到“miscellaneous” - “User language”,选择“Chinese (Simplified)”。
  • 点击“Save”保存设置。

六、参考资料

  • PostgreSQL 官方文档:https://docs.docker.com/samples/library/postgres
  • Docker 安装教程:https://www.jianshu.com/p/d1a07a13a76f
  • PostgreSQL 容器化部署:https://www.jianshu.com/p/c74b1d2d8ad4
  • pgAdmin 下载与使用:https://blog.csdn.net/horses/article/details/90665711
你可能感兴趣的文章
python利用pytorch库导出图像分割算子
查看>>
python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
查看>>
python利用excel分析过杀漏失
查看>>
python判断汉字数目
查看>>
python判断文件是空的,如果是空的,就删除
查看>>
python判断密码是否正确_python密码判断是否符合要求的方法
查看>>
python判断字符串包含中文_Python 判断字符串是否包含中文
查看>>
python删除第一行_Python 乱码指北:一行删掉根目录
查看>>
Python删除列表元素的三种方法
查看>>
python初步学习-python数据类型-集合(set)
查看>>
python列表生成字典_Python中将字典转换为列表的方法
查看>>
python列表对应元素合并为列表及判断一个列表是几维
查看>>
python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
查看>>
python列表前几个_python之列表
查看>>
python列表元组
查看>>
Python列表/元组/字典和集合使用
查看>>
python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
查看>>
python列表
查看>>
python列出当前目录、子目录和文件的脚本
查看>>
python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
查看>>