docker如何部署lnmp-wordpress
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要为大家展示了"docker如何部署lnmp-wordpress",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"docker如何部署lnmp-wo
千家信息网最后更新 2026年11月03日docker如何部署lnmp-wordpress
这篇文章主要为大家展示了"docker如何部署lnmp-wordpress",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"docker如何部署lnmp-wordpress"这篇文章吧。
一、实验环境
系统: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.confnameserver 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 DockerfileFROM docker.io/centos:7RUN yum -y updateRUN yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools makeRUN groupadd -g 900 nginx && useradd nginx -g nginx -s /sbin/nologinFROM docker.io/centos:7RUN yum -y updateRUN yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools makeRUN groupadd -g 900 nginx && useradd nginx -g nginx -s /sbin/nologinADD nginx-1.12.2 nginx-1.12.2RUN 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=nginxRUN cd /nginx-1.12.2/ && make && make installRUN 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_paramsADD nginx.conf /usr/local/nginx/conf/ADD wordpress /usr/local/nginx/html/wordpressADD wp-config.php /usr/local/nginx/html/wordpressRUN 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-toolsADD libmcrypt-2.5.7 libmcrypt-2.5.7RUN cd libmcrypt-2.5.7/&& ./configure --prefix=/usr/local/libmcrypt && make && make installADD php-5.5.38 php-5.5.38RUN 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 installRUN cd php-5.5.38 && cp php.ini-production /etc/php.iniRUN cd /php-5.5.38 && cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpmRUN chmod +x /etc/init.d/php-fpm && chkconfig --add php-fpm && chkconfig php-fpm onRUN cp /usr/local/php5.5/etc/php-fpm.conf.default /usr/local/php5.5/etc/php-fpm.confRUN sed -i 's*;pid = run/php-fpm.pid*pid = run/php-fpm.pid*g' /usr/local/php5.5/etc/php-fpm.confRUN sed -i 's/user = nobody/user = nginx/g' /usr/local/php5.5/etc/php-fpm.confRUN sed -i 's/group = nobody/group = nginx/g' /usr/local/php5.5/etc/php-fpm.confRUN sed -i 's/pm.max_children = 5/pm.max_children = 50/g' /usr/local/php5.5/etc/php-fpm.confRUN sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' /usr/local/php5.5/etc/php-fpm.confRUN sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /usr/local/php5.5/etc/php-fpm.confRUN sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 30/g' /usr/local/php5.5/etc/php-fpm.confEXPOSE 9000EXPOSE 80
3、构建镜像
[root@docker-lnmp nginx]# docker build -t "centos:nginx-php" .
查看镜像列表

4、创建容器并运行
[root@docker-lnmp nginx]# docker run -dit -p 80:80 -m 500m --memory-swap 1G 3efb4e2c79b5 /bin/bash49c5b69ce7012579f4b024ef6be88ff5de8057ccc7f81583fcf04f1c3ec6a79c
查看容器列表
5、开启服务
[root@docker-lnmp nginx]# docker exec -it 49c5b69ce701 /bin/bash[root@49c5b69ce701 /]# /etc/init.d/php-fpm start && nginx[root@49c5b69ce701 /]# netstat -antp | grep phptcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 32/php-fpm: master [root@49c5b69ce701 /]# netstat -antp | grep nginxtcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 39/nginx: master pr
验证一下:
五、部署MySQL
1、创建MySQL的dockerfile文件
[root@docker-lnmp mysql]# vim DockerfileFROM docker.io/centos:7RUN yum -y install gcc gcc-c++ make autoconf make cmake wgetRUN groupadd mysql; useradd -r -M -u 3306 -s /sbin/nologin -g mysql mysqlRUN mkdir /usr/local/mysql; mkdir /data/mysql -pvRUN yum install gcc gcc-c++ ncurses-devel bison bison-devel -yRUN wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.29.tar.gzRUN tar xf mysql-5.6.29.tar.gz -C /usr/local/src/WORKDIR /usr/local/src/mysql-5.6.29RUN 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 installRUN chown -R root:mysql /usr/local/mysql/ && chown -R mysql:mysql /data/mysqlRUN chmod 755 /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.shRUN /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh --basedir=/usr/local/mysql --datadir=/data/mysql --no-defaults --user=mysqlRUN cp /usr/local/src/mysql-5.6.29/support-files/my-default.cnf /etc/my.cnfRUN cp /usr/local/src/mysql-5.6.29/support-files/mysql.server /etc/init.d/mysqldRUN chmod 775 /etc/init.d/mysqld && /etc/init.d/mysqld startRUN echo -e '#!/bin/bash\nexport PATH=$PATH:/usr/local/mysql/bin' >/etc/profile.d/mysql.shRUN source /etc/profileEXPOSE 3306
2、构建镜像
[root@docker-lnmp mysql]# docker build -t "centos:mysql-5.6" .
查看镜像列表
3、创建容器并运行
[root@docker-lnmp mysql]# docker run -dit -p 3306:3306 --device-write-bps /dev/sda:10M 704e5b978518 /bin/bash960645a296e3e8795c344a8037b0641f8b5baf8e2214453214359071480c379d
查看容器列表
4、启动服务
[root@docker-lnmp mysql]# docker exec -it 960645a296e3 /bin/bash[root@960645a296e3 mysql-5.6.29]# /etc/init.d/mysqld startStarting MySQL............ SUCCESS!
5、数据库授权
#修改密码[root@960645a296e3 mysql-5.6.29]# mysql -uroot -p123456Warning: Using a password on the command line interface can be insecure.ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)[root@960645a296e3 mysql-5.6.29]# mysqladmin -u root -p passwordEnter password: New password: Confirm new password: #授权[root@960645a296e3 mysql-5.6.29]# mysql -uroot -p123456mysql> create database wordpress default charset utf8 COLLATE utf8_general_ci; #创建wordpress表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 (0.00 sec)mysql> flush privileges; #刷新权限Query OK, 0 rows affected (0.01 sec)
访问:http://192.168.238.133/wordpress/index.php
以上是"docker如何部署lnmp-wordpress"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
容器
镜像
内容
文件
篇文章
服务
环境
目录
软件
软件包
学习
帮助
运行
主机
密码
数据
数据库
易懂
更多
权限
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
亿人帮互联网科技有限公司
互联网科技行业发展
互联网金融监管科技数据
奇士达互联网科技
哈尔滨新华互联网科技
阿里巴巴算科技企业还是互联网
互联网公司科技股
华夏互联网科技业
知域互联网科技有限公司大骗子
哈尔滨屹滨互联网科技有限公司
河南住房之家互联网科技
华夏恒生互联网科技013171
特约风豹互联网科技为什么扣费
山东子淼互联网科技有限公司
云南省自由互联网科技有限公司
领航科技大厦互联网公司
上海互联网科技公司ppt
互联网风格科技公司名称
米泉互联网科技专业怎么样
北京军民互联网科技公司
互联网和科技技术
互联网科技卖菜
银优互联网科技有限公司
重庆互联网医院沙龙医盟信息科技
移动互联网科技公司
移动互联网年度科技创新
为客找房互联网科技公司怎么样
杭州披云加互联网科技有限公司
中国新注册互联网科技
互联网科技创业计划的风险分析