2018年7月18日水曜日

Dockerでpgweb、PostgreSQL 10.4がインストールされたコンテナ(Alpine 3.7)を構築する

pgwebはPostgreSQLに対応するwebフロントエンドです。

○pgwebの画面

○構築方法
以下の手順で、pgwebとPostgreSQL 10.4のコンテナを構築・実行します。
1. pgwebイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t pgweb .

Dockerfile
FROM alpine:3.7
WORKDIR /
RUN  apk update \
  && apk add --no-cache unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://github.com/sosedoff/pgweb/releases/download/v0.9.12/pgweb_linux_amd64.zip \
  && unzip pgweb_linux_amd64.zip \
  && rm -f pgweb_linux_amd64.zip \
  && mkdir -p /opt/pgweb \
  && cp /pgweb_linux_amd64 /opt/pgweb \
  && rm /pgweb_linux_amd64
EXPOSE 8080
VOLUME /opt/pgweb
CMD ["/opt/pgweb/pgweb_linux_amd64", "--sessions", "--bind=0.0.0.0", "--listen=8080"]

2. pgwebとMySQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "2"
services:
  pgweb:
    image: pgweb
    container_name: "pgweb"
    volumes:
      - "pgweb-data:/opt/pgweb"
    ports:
      - "8080:8080"
    depends_on:
      - db
  db:
    image: postgres:10.4-alpine
    environment:
      POSTGRES_USER: pgweb
      POSTGRES_PASSWORD: pgweb
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "postgres-data:/var/lib/postgresql/data"
volumes:
  postgres-data:
    driver: local
  pgweb-data:
    driver: local

3. ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
ユーザ名pgweb、パスワードpgwebを指定します。


○関連情報
・pgwebに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿