docker如何部署lnmp-wordpress
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要为大家展示了"docker如何部署lnmp-wordpress",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"docker如何部署lnmp-wo
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
家电售后服务器维修
工业网络技术班徽设计
鄂州好的软件开发团队
产品网络安全能力声明
rtmp推流服务器
无线网络技术教程张路桥
云悟网络技术有限公司
网络安全重点指令
手机服务器未响应
在酒店管理系统的数据库中
服务器防火墙 安全狗
湛江精益软件开发
专业服务器 配置
学校网络安全职能部门
数据库有哪些排序
怎么样确保数字校园网络安全
数据库 ole
派出所上门查网络安全宣传周
数据库不同表主键能不能相同
上海电信软件开发部
管理软件开发哪家好
安卓软件开发与管理工具
2021网络安全专项治理方案
一般酒店有哪些服务器
考mysql数据库
南谯区智能软件开发技术怎么样
菜鸡游戏中怎么换服务器
深圳c语言软件开发价格
创造与魔法咋换服务器
上海pdu服务器电源价格怎么样