用docker运行WordPress

我将在docker容器中记录WordPress运行的步骤。

我们使用WordPress来分享家庭和朋友间的信息,但不对外公开,仅限以下用户使用。

    • Webのポート番号は80でなく1224とする。

 

    Webの全ページにてBasic認証をかける。ただし、アカウントは1つで共有して利用する。

以下是主要在容器中运行的产品。

    • OS:CentOS 6.6

 

    • Webサーバ:Apache

 

    DBサーバ:MySQL

使用CentOS 6.5作为运行容器的主机操作系统。

安装Docker

sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo yum -y install docker-io

启动Docker

sudo service docker start
sudo chkconfig docker on

创建Dockerfile文件

创建一个名为Dockerfile的文件,并将以下内容写入并保存。但是请注意,“USER1 PASS1”是基本身份验证的用户名和密码,建议您更改为其他信息。

FROM centos:centos6
RUN /bin/cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
RUN yum -y install httpd php php-mysql mysql-server tar wget php-gd
WORKDIR /tmp/
RUN wget https://ja.wordpress.org/latest-ja.tar.gz
RUN tar xvfz ./latest-ja.tar.gz
RUN rm -f ./latest-ja.tar.gz
RUN mv wordpress/* /var/www/html/
RUN cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
RUN sed -i -e 's/database_name_here/wordpress/g' -e 's/username_here/wordpress/g' -e 's/password_here/wppass/g' /var/www/html/wp-config.php
RUN sed -i -e 's/AllowOverride\ None/AllowOverride\ AuthConfig/g' /etc/httpd/conf/httpd.conf
RUN echo -e "AuthUserFile /.htpasswd\nAuthName Himitsu\nAuthType Basic\nrequire valid-user" > /var/www/html/.htaccess
RUN htpasswd -cb /.htpasswd USER1 PASS1
RUN chown -R apache.apache /var/www/html/
RUN service mysqld start && mysql -u root -e "CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'wppass'; FLUSH PRIVILEGES;" &&  service mysqld stop
RUN echo -e "service mysqld start\nservice httpd start\n/bin/bash" > /startService.sh
RUN chmod o+x /startService.sh
EXPOSE 80
CMD /startService.sh

创建容器镜像

在具有Dockerfile文件的目录中执行以下操作。

sudo docker build --rm -t mywordpress .

运行容器

sudo docker run -i -t -d -p 1224:80 -v /share/WordPress1:/share/WordPress1 --name WordPress1 mywordpress

搭建WordPress网站

请在浏览器中访问以下网址。然后会出现基本验证对话框,请输入用户名和密码(默认为USER1,PASS1)。接下来,请按照指示设置WordPress。
http://<宿主操作系统的IP地址>:1224/wp-admin/install.php

现在我已经可以使用WordPress了。

维护工作

在控制台上工作

sudo docker exec -i -t WordPress1 bash

这个 “exec” 子命令在 Docker 版本 1.3 中获得了支持。

文件交互。

要在容器和主机操作系统之间进行文件交换,可以使用/share/WordPress1/。容器和主机操作系统可以看到相同的目录。

bannerAds