最近、Dockerイメージの作成がマイブームかも知れません。
今回はイメージさえあればWordPressを1分もかけずに構築できるイメージを作成してみました。
# vi Dockerfile
FROM centos:7 # 必要なパッケージをインストール RUN yum -y update RUN yum -y install httpd httpd-devel zip unzip tar wget RUN yum -y install php php-xml php-pdo php-gd php-mbstring sqlite sqlite-devel # WordPressをインストールしてSQLite3で動作するように設定 RUN wget https://ja.wordpress.org/latest-ja.tar.gz RUN wget https://downloads.wordpress.org/plugin/sqlite-integration.1.8.1.zip RUN tar xvfz ./latest-ja.tar.gz RUN unzip ./sqlite-integration.1.8.1.zip RUN rm -f ./latest-ja.tar.gz RUN rm -f ./sqlite-integration.1.8.1.zip RUN mv wordpress /var/lib/wordpress RUN chown -R apache.apache /var/lib/wordpress RUN mv /var/lib/wordpress/wp-config-sample.php /var/lib/wordpress/wp-config.php RUN mv sqlite-integration /var/lib/wordpress/wp-content/plugins/ RUN mv /var/lib/wordpress/wp-content/plugins/sqlite-integration/db.php \ /var/lib/wordpress/wp-content/ # ひな形を公開ディレクトリにコピーする RUN cp -rpf /var/lib/wordpress/* /var/www/html/ # ログイン時にひな形から展開するように定義する RUN echo "yes n | cp -ripf /var/lib/wordpress/* /var/www/html/ > /dev/null 2>&1" >> /root/.bash_profile EXPOSE 80 VOLUME /var/www/html RUN systemctl enable httpd EXPOSE 80 # docker run --privileged -itd -p 8080:80 -v /root/wordpress/public_html:/var/www/html wordpress-sqlite bash -l -c "/sbin/init"
ブログの実態はホスト側で持つので保管先のディレクトリを作成
# mkdir -p /root/wordpress/public_html
# chmod 777 /root/wordpress/public_html
コンテナ起動
# docker run –privileged -itd -p 8080:80 -v /root/wordpress/public_html:/var/www/html wordpress-sqlite bash -l -c “/sbin/init”
ブラウザで http://127.0.0.1:8080 にアクセスしてWordPressのインストール画面が表示されれば成功です。
MySQLのコンテナを作成してDBとユーザを作ってボーリュームの指定をして・・・
というのが面倒だったので小規模ならSQLite3でもいいでしょ?っというノリで作ってみました。
Apacheを使いましたが、よくよく考えて見ればNginxでも良かったなと失敗した感が・・・。
そのうち、Nginxとphp-fpmとSQLite3を組み合わせたDockerイメージを作成してみたいと思います。
0 Comments.