本文整理自网络,侵删。
目录
- 一、实验环境
- 二、安装docker源
- 三、安装docker
- 四、部署Nginx和PHP
- 1、上传/解压软件包和配置文件
- 2、创建dockerfile文件
- 3、构建镜像
- 4、创建容器并运行
- 5、开启服务
- 五、部署MySQL
- 1、创建MySQL的dockerfile文件
- 2、构建镜像
- 3、创建容器并运行
- 4、启动服务
- 5、数据库授权
一、实验环境
系统:centos7 ip:192.168.238.133
#关闭防火墙 [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld [root@localhost ~]# setenforce 0 #添加dns [root@localhost ~]# cat /etc/resolv.conf nameserver 114.114.114.114 #修改主机名 [root@localhost ~]# hostnamectl set-hostname docker-lnmp [root@localhost ~]# su
二、安装docker源
#安装依赖环境 [root@docker-lnmp ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 #安装阿里docker源 [root@docker-lnmp ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
三、安装docker
[root@docker-lnmp ~]# yum install -y docker-ce #安装社区版 [root@docker-lnmp ~]# systemctl enable docker #设置开机自启 Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service. [root@docker-lnmp ~]# systemctl start docke #开启服务 #创建dockerfile目录 [root@docker-lnmp ~]# mkdir docker && cd docker #创建MySQL和Nginx的dockerfile目录 [root@docker-lnmp docker]# mkdir nginx mysql
四、部署Nginx和PHP
1、上传/解压软件包和配置文件
#解压软件包 [root@docker-lnmp nginx]# tar zxvf wordpress-4.9.4-zh_CN.tar.gz [root@docker-lnmp nginx]# tar zxvf nginx-1.12.2.tar.gz [root@docker-lnmp nginx]# tar zxvf libmcrypt-2.5.7.tar.gz [root@docker-lnmp nginx]# tar zxvf php-5.5.38.tar.gz
2、创建dockerfile文件
[root@docker-lnmp nginx]# vim Dockerfile FROM docker.io/centos:7 RUN yum -y update RUN yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools make RUN groupadd -g 900 nginx && useradd nginx -g nginx -s /sbin/nologin FROM docker.io/centos:7 RUN yum -y update RUN yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake 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/ && ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx 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 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
3、构建镜像
[root@docker-lnmp nginx]# docker build -t "centos:nginx-php" .
查看镜像列表
相关阅读 >>
wordpress中j.parentnode为空或不是对象的解决方法
不用wordpress插件显示文章浏览统计功能代码修改(原理分析)
更多相关阅读请进入《wordpress》频道 >>
转载请注明出处:木庄网络博客 » docker部署lnmp-wordpress的实现步骤
标签:wordpress
相关推荐
评论
管理员已关闭评论功能...