2019年5月7日火曜日

Dockerでpgweb(v0.11.2)がインストールされたコンテナ(Alpine 3.9)を構築する

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

○pgwebの画面


○構築方法
以下の手順で、pgwebとPostgreSQLのコンテナを構築・実行します。

1. pgwebイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mypgweb .

Dockerfile
FROM alpine:3.9
WORKDIR /
RUN  apk update \
  && apk add --no-cache unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://github.com/sosedoff/pgweb/releases/download/v0.11.2/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: mypgweb
    container_name: "pgweb"
    volumes:
      - "pgweb-data:/opt/pgweb"
    ports:
      - "8080:8080"
    depends_on:
      - db
  db:
    image: postgres:11.2-alpine
    environment:
      POSTGRES_DB: pgweb
      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/にアクセス

〇関連情報
・プロジェクトwebサイト
http://sosedoff.github.io/pgweb/

0 件のコメント:

コメントを投稿