【Docker初探】第五节:安装PostgreSQL+Nginx

相关资料:

【Docker初探】第一节:Docker+Alpine+Openssh+Supervisor部署Linux基础环境

【Docker初探】第二节:安装alpine-pkg-glibc,部署java环境

【Docker初探】第三节:导入导出镜像及压缩

【Docker初探】第四节:使用mount挂载共享文件夹(cifs)

源码:https://github.com/tfwcn/docker-alpine-server

 

本节内容接第二节的镜像继续安装PostgreSQL+Nginx,Dockerfile内容如下:

# 基于alpine的镜像
FROM highlevel/alpine-server:glibc
MAINTAINER Docker PPHT <tfwcn@sina.cn>

RUN apk --no-cache add postgresql redis nginx curl \
    && mkdir /run/nginx/ \
    && mkdir /root/pgdata/ \
    && mkdir /run/postgresql/ \
    && chown -R postgres /root/ \
    && chown -R postgres /root/pgdata/ \
    && chown -R postgres /run/postgresql/ \
    && su -c "initdb -D /root/pgdata/" postgres \
    && echo "host    all     all             192.168.1.1/0                 trust" >> /root/pgdata/pg_hba.conf \
    && sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /root/pgdata/postgresql.conf \
    && sed -i '1a su -c "pg_ctl start -D /root/pgdata/" postgres' /root/start.sh \
    && sed -i '1a nginx' /root/start.sh \
    && rm -rf /var/cache/apk/*


# 开端口
EXPOSE 22
EXPOSE 9001
EXPOSE 80
EXPOSE 443
EXPOSE 5432

CMD /root/start.sh

在命令行切换到根目录,执行下面命令,建立docker镜像:

docker build -t highlevel/alpine-server:web .

先删除上一节的镜像:

docker rm alpine-glibc

运行镜像:

docker run --name alpine-web -p 10022:22 -p 9001:9001 -p 5432:5432 -p 80:80 -p 443:443
 -it highlevel/alpine-server:web

配置文件中,数据库文件在/root/pgdata/目录下 ,这里要注意,目录一定要有postgres用户权限。

另外,如果要外挂共享文件夹(第四节),文件夹一定要是linxu的etx文件系统才可授权postgres用户权限。外挂共享文件夹后,执行初始化数据库,代码如下:

//初始化数据库
su -c "initdb -D /数据库目录/" postgres

//启动数据库
su -c "pg_ctl start -D /数据库目录/" postgres

//用下面代码添加到自启动
sed -i '1a su -c "pg_ctl start -D /数据库目录/" postgres' /root/start.sh

默认用户:postgres,密码:postgres 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PPHT-H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值