一、编写dockerfile
[root@docker01 wordpress]# cat dockerfile
FROM centos:7
RUN curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
RUN yum install nginx mariadb-server php-fpm php-mysql -y
RUN mysql_install_db --user=mysql --defaults-file=/etc/my.cnf
RUN tmp=`nohup mysqld_safe --defaults-file=/etc/my.cnf &` && sleep 5 && \
mysql -e "create database wordpress;" && \
mysql -e "grant all on wordpress.* to wordpress@localhost identified by '123456';"
ADD www.conf /etc/php-fpm.d/www.conf
ADD nginx.conf /etc/nginx/nginx.conf
RUN mkdir /code
WORKDIR /code
ADD wordpress-4.9.4.zip .
RUN yum install unzip -y
RUN unzip wordpress-4.9.4.zip
RUN mv wordpress/* .
RUN chown -R nginx:nginx .
ADD init.sh /init.sh
CMD ["/bin/bash","/init.sh"]
二、准备nginx配置文件
server {
listen 80;
server_name localhost;
root /code;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
三、修改/etc/php-fpm.d/www.conf
[root@docker01 wordpress]# grep "nginx" www.conf
user = nginx
group = nginx
四、准备wordpress软件包,5以上版本不支持
[root@docker01 wordpress]# ll wordpress-4.9.4.zip -d
-rw------- 1 root root 9332728 May 29 20:50 wordpress-4.9.4.zip
五、编写初始化脚本,数据库后台启动
[root@docker01 wordpress]# cat init.sh
#!/bin/bash
nginx
php-fpm -D
mysqld_safe --defaults-file=/etc/my.cnf
六、运行dockerfile
[root@docker01 wordpress]# docker build -t wd:v2 .
七、启动容器
[root@docker01 wordpress]# docker run -d -p 76:80 wd:v2
92267d753afa195d268fe67cedafe5203e2b74b0e525c99962577ea6c7a3f758
八、查看网页