Dockerfile搭建wordpress论坛

环境部署

一、系统部署

  1. 安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce 
  1. 关闭防火墙
systemctl stop firewalld systemctl disable firewalld setenforce 0 
  1. 配置加速
https://help.aliyun.com/document_detail/60750.html 
  1. 文件准备
[root@localhost ~]# cd docker-lnmp/ [root@localhost docker-lnmp]# tree -L 2 . ├── mysql │ └── mysql-5.6.36.tar.gz └── nginx ├── libmcrypt-2.5.7 ├── libmcrypt-2.5.7.tar.gz ├── nginx-1.12.2.tar.gz ├── nginx.conf ├── php-5.5.38.tar.gz ├── wordpress-4.9.4-zh_CN.tar.gz └── wp-config.php 6 directories, 9 files 

二 、Dockerfile编写

  1. 编写nginx、php
[root@localhost ~]# cd docker-lnmp/nginx/ [root@localhost nginx]# vi Dockerfile FROM centos:7 RUN yum -y update RUN yum -y install gcc gcc-c++ openssl-devel openssl automake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools make RUN groupadd -g 900 nginx && useradd nginx -g nginx -s /sbin/nologin ADD nginx-1.12.2 nginx-1.12.2 RUN cd /nginx-1.12.2/ && make && make install RUN ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ RUN sed -i '1afastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' /usr/local/nginx/conf/fastcgi_params ADD nginx.conf /usr/local/nginx/conf/ ADD wordpress /usr/local/nginx/html/wordpress ADD wp-config.php /usr/local/nginx/html/wordpress ### 部署php RUN yum -y install gcc gcc-c++ libxml2-devel libcurl-devel openssl-devel bzip2-devel openssl automake make autoconf libtool zlib-devel make pcre-devel wget net-tools ADD libmcrypt-2.5.7 libmcrypt-2.5.7 RUN cd libmcrypt-2.5.7/&& ./configure --prefix=/usr/local/libmcrypt && make && make install ADD php-5.5.38 php-5.5.38 RUN cd php-5.5.38/ && ./configure --prefix=/usr/local/php5.5 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts && make && make install RUN cd php-5.5.38 && cp php.ini-production /etc/php.ini RUN cd /php-5.5.38 && cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm RUN chmod +x /etc/init.d/php-fpm && chkconfig --add php-fpm && chkconfig php-fpm on RUN cp /usr/local/php5.5/etc/php-fpm.conf.default /usr/local/php5.5/etc/php-fpm.conf RUN sed -i 's*;pid = run/php-fpm.pid*pid = run/php-fpm.pid*g' /usr/local/php5.5/etc/php-fpm.conf RUN sed -i 's/user = nobody/user = nginx/g' /usr/local/php5.5/etc/php-fpm.conf RUN sed -i 's/group = nobody/group = nginx/g' /usr/local/php5.5/etc/php-fpm.conf RUN sed -i 's/pm.max_children = 5/pm.max_children = 50/g' /usr/local/php5.5/etc/php-fpm.conf RUN sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' /usr/local/php5.5/etc/php-fpm.conf RUN sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /usr/local/php5.5/etc/php-fpm.conf RUN sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 30/g' /usr/local/php5.5/etc/php-fpm.conf EXPOSE 9000 EXPOSE 80 
  1. 构建镜像
[root@localhost nginx]# pwd /root/docker-lnmp/nginx [root@localhost nginx]# docker build -t nginx:new . 
  1. 构建成功后运行镜像
[root@localhost nginx]# docker run -itd -p 80:80 镜像ID /bin/bash 
  1. 进入容器
[root@localhost nginx]# docker exec -it 容器ID /bin/bash [root@6de6688f3e6c /]# /etc/init.d/php-fpm start && nginx 
  1. 创建MySQL
cd /root/docker/mysql cat >>Dockerfile<<EOF FROM docker.io/centos:7 RUN yum -y install gcc gcc-c++ make automake cmake wget RUN groupadd mysql; useradd -r -M -u 3306 -s /sbin/nologin -g mysql mysql RUN mkdir /usr/local/mysql; mkdir /data/mysql -pv RUN yum install gcc gcc-c++ ncurses-devel bison bison-devel -y RUN wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.29.tar.gz RUN tar xf mysql-5.6.29.tar.gz -C /usr/local/src/ WORKDIR /usr/local/src/mysql-5.6.29 RUN cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH-MYSQLD-LDFLAGS=-all-static -DWITH-CLIENT-LD-FLAGS=-all-static -DWITH_DEBUG=0 && gmake && gmake install RUN chown -R root:mysql /usr/local/mysql/ && chown -R mysql:mysql /data/mysql RUN chmod 755 /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh RUN /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh --basedir=/usr/local/mysql --datadir=/data/mysql --no-defaults --user=mysql RUN cp /usr/local/src/mysql-5.6.29/support-files/my-default.cnf /etc/my.cnf RUN cp /usr/local/src/mysql-5.6.29/support-files/mysql.server /etc/init.d/mysqld RUN chmod 775 /etc/init.d/mysqld && /etc/init.d/mysqld start RUN echo -e '#!/bin/bash\nexport PATH=$PATH:/usr/local/mysql/bin' >/etc/profile.d/mysql.sh RUN source /etc/profile EXPOSE 3306 EOF 
docker build -t "centos:mysql-5.6" . docker run -dit -p 3306:3306 --device-write-bps /dev/sda:10M 镜像ID /bin/bash docker exec -it 容器ID /bin/bash 

三、对数据库授权

[root@974ca6cc5f59 mysql-5.7.20]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.7.20 Source distribution Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database wordpress default charset utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec) mysql> grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456' with grant option; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye [root@974ca6cc5f59 mysql-5.7.20]# 

原文链接:https://blog.csdn.net/weixin_50344760/article/details/114841192?ops_request_misc=&request_id=a29486dfef1048ebb12486bc3cc920a5&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-19-114841192-null-null.268%5Ev1%5Econtrol&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享