docker入坑指南(二)

由于开发需要,部署环境的时候直接上docker,记录一下docker中安装postgresql的方法。
首先拉取postgre的镜像:
我这里用的是postgre10.1
命令:docker pull postgres:10.1
**注意:**后面可以更换postgre的版本

命令:docker images 查看docker的镜像
在这里插入图片描述
最开始的时候我按照网上的方法直接运行docker run,生成容器且运行容器,然后发现外部访问都访问不到数据库。研究了很久,一开始以为是docker的网络设置没有成功。但是docker的网络是自带的,安装之后自动生成。
之后问了公司技术大佬,他告诉我启动postgre的时候应该挂载数据目录,且要跟在centor7的环境下直接安装postgre相同的配置。这样的话就需要Dockerfile生成一个定制的postgre镜像。
下面贴出来Dockerfile:

#基础镜像
FROM postgres:10.1 
#挂载的数据目录,防止容器异常停止时数据丢失
VOLUME /var/lib/postgresql/data
#工作目录(由于docker上下文的概念,导致没有定义工作目录的时候copy命令一直报错)
WORKDIR /home/pg
#pg的配置文件,把我们先配置好的pg文件copy到容器中相应的目录下(postgre如果不修改这两个文件,没办法从外部访问)
COPY postgresql.conf /etc/postgresql/10/main/pg_hba.conf
COPY pg_hba.conf /etc/postgresql/10/main/pg_hba.conf

把写好的Dockerfile以及pg_hba.conf,pg_hba.conf上传的服务器的某个文件夹下
在这里插入图片描述
进入文件所在的路径,运行
命令:docker build -t eg_postgresql .
注意:-t 为镜像名字,最后还有一个.

查看docker的image,发现生成了一个名为eg_postgresql的镜像。
最后,运行并且生成命令
命令:docker run --name postgres_demo -e POSTGRES_PASSWORD=5,mnbvcxz -p 5432:5432 -d eg_postgresql:latest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值