2018年1月22日月曜日

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

MyBBはPHP製のフォーラムを提供するサーバーアプリケーションです。
以下の手順で、MyBBとMySQLのコンテナを構築・実行します。

○構築方法
1. MyBBイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mybb .

Dockerfile
FROM alpine:3.7
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php7-apache2 php7-mysqli php7-intl php7-mcrypt php7-mbstring php7-session php7-curl php7-json php7-xml php7-zip php7-imagick openssl openrc imagemagick-libs unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://resources.mybb.com/downloads/mybb_1814.zip \
  && unzip mybb_1814.zip \
  && rm -f mybb_1814.zip \
  && mkdir /opt \
  && mv Upload /opt/mybb \
  && chown -R apache:apache /opt/mybb \
  && ln -s  /opt/mybb /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
EXPOSE 80
VOLUME /opt/mybb
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

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

docker-compose.yml
version: "2"
services:
  mybb:
    image: mybb
    container_name: "mybb"
    volumes:
      - "mybb-data:/opt/mybb"
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      MYBB_DB_HOST: "db:3306"
  db:
    image: mysql:5.7
    container_name: "mybb-db"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
        MYSQL_DATABASE: mybb
        MYSQL_ROOT_PASSWORD: mybb
volumes:
  db-data:
    driver: local
  mybb-data:
    driver: local

3. ブラウザからhttp://<Dockerホスト名またはIP>/mybb/にアクセス
Welcome画面で「Next」をクリックする


4.License Agreement画面でLicenseを確認し、同意できれば「Next」をクリックする


5. Requirement Check画面で「Next」をクリックする


6.Database Configuration画面で以下の項目を入力し、「Next」をクリックする
Database Server Hostname: db
Database Username: root
Database Password: mybb
Database Name: mybb


7. Table Creation画面で「Next」をクリックする


8. Table Population画面で「Next」をクリックする


9. Theme Insertion画面で「Next」をクリックする


10. Board Configuration画面で掲示板の情報を入力し、「Next」をクリックする


11. Create Administrator Account画面で管理者の情報を入力し、「Next」をクリックする


12. Finish Setup画面


○MyBBの画面


○その他
・MyBBとMySQLコンテナの停止・削除(docker-compose.ymlがあるフォルダで実行)
docker-compose down

・永続化ボリュームの削除
docker volume rm mybb_db-data
docker volume rm mybb_mybb-data

0 件のコメント:

コメントを投稿