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安全错误
数据库的锁怎样保障安全
伟宏互联网科技
互联网科技巨头监管
互联网下的科技发展
互联网科技公司发展
奇酷互联网络科技
互联网科技论文
华中科技大学互联网
佰商互联网科技有限公司
佩信高科技互联网
北京三清互联网科技
阿里巴巴算科技企业还是互联网
昭通云南众福互联网科技有限公司
互联网校园科技培训
互联网软件和科技
智腾互联网科技有限公司
互联网科技公司营业执照怎么办理
互联网金融科技公司的优势
启辰互联网科技
互联网科技数字货币
长沙渺峰互联网科技有限公司
为想互联网科技
电子科技大学互联网
蓝色互联网科技
银川新华互联网科技职业技术培训学校图片
互联网金融中的现代科技
互联网科技革命什么开始
互联网公司黑科技创始人
智帮互联网科技公司最近动向
半导体是互联网高科技吗
互联网科技新闻