関連情報:
[研究ドッカー]セクション:ドッカー+アルパイン+ OpenSSHの+スーパーバイザデプロイのLinux基盤環境
[研究ドッカー]セクションII:インストール高山-PKG-のglibc、Javaのデプロイメント環境
【研究ドッカー]セクションIII:圧縮と画像のインポートおよびエクスポート
ドッカー] [セクションIVに:使用して共有フォルダをマウントするマウント(CIFS)
この第二のセクションでは、インストールのPostgreSQL + nginxのを続行するために、ミラーに接続され、Dockerfileは次のとおりです。
# 基于alpine的镜像
FROM highlevel/alpine-server:glibc
MAINTAINER Docker PPHT <[email protected]>
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 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
ここで注意すべき設定ファイル、/ルート/ PGDATA /ディレクトリ内のデータベースファイル、ディレクトリのPostgresのユーザー権限がなければなりません。
共有フォルダ(セクションIV)をプラグインする場合はまた、ファイルシステムフォルダは、それがlinxu前にpostgresユーザの権限を許可する必要がありますETX。プラグイン共有フォルダ後、データベースの初期化コードを実行し、以下の通りであります:
//初始化数据库
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の