使用Docker构建LNMP环境并运行Wordpress网站平台

1.基于Dockerfile构建LNMP镜像

1.项目环境

(1)公司在实际的生产环境中,需要使用Docker技术在一台主机上创建LNMP服务,并运行Wordpress网站平台。然后对此服务进行相关的性能调优和管理工作。

(2)环境描述

名称 备注
主要软件 Docker、Nginx、MySQL、PHP
操作系统 CentOS Linux release 7.9.2009 (Core)
宿主机的IP地址 192.168.80.20
Nginx的IP地址 172.18.0.10
MySql的IP地址 172.18.0.20
PHP的IP地址 172.18.0.30

2.任务需求

(1)使用Docker构建LNMP环境并运行Wordpress网站平台。
(2)限制Nginx容器最多使用500Mb的内存和1G的Swap。
(3)限制Mysql容器写/dev/sda的速率为10MB/s。
(4)将所有容器进行快照,然后将Docker镜像打包成tar包备份到本地。

1.1 基于Dockerfile构建nginx镜像

创建nginx、mysql和php目录;

cd /opt/lnmp
mkdir nginx mysql php
cd /opt/nginx
rz -E
#nginx-1.22.0.tar.gz  wordpress-4.9.4-zh_CN.tar.gz

删除系统中现有的所有容器和镜像;

docker rm -f $(docker ps -aq)
docker ps -a

docker images
docker rmi -f 镜像ID号
docker images

制作nginx服务的Dockerfile文件;

vim /opt/lnmp/nginx/Dockerfile 

FROM centos:7
MAINTAINER this is nginx image <clr 2023-07-24>
ADD nginx-1.22.0.tar.gz /usr/local/
RUN yum install -y pcre-devel zlib-devel openssl-devel gcc gcc-c++ make && \
useradd -M -s /sbin/nologin nginx && \
cd /usr/local/nginx-1.22.0 && \
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module && make -j2 && make install

#COPY nginx.conf /usr/local/nginx/conf/nginx.conf

EXPOSE 80
#EXPOSE 443

CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]

docker build -t nginx:centos7 .    #在当前目录中,创建nginx:centos7镜像

在这里插入图片描述
基于新构建的nginx镜像,创建容器,并随机映射端口;

docker images
docker run -d -P nginx:centos7
docker ps -a

在这里插入图片描述
浏览器访问nginx服务的web页面测试;

http://192.168.80.20:32770   

在这里插入图片描述

1.1.1 修改/usr/local/nginx/conf/nginx.conf文件

将容器中nginx服务的nginx.conf文件下载到宿主机的/opt/lnmp/nginx/目录中;

docker cp c74be83dab04:/usr/local/nginx/conf/nginx.conf /opt/lnmp/nginx/

在这里插入图片描述
修改宿主机中的nginx.conf文件;

vim /opt/lnmp/nginx/nginx.conf 
------------修改45行---------------------------
   index  index.php index.html index.htm;  #添加index.php模块

-------------65行到71行------------------------
         location ~ \.php$ {
   
             root           html;
             fastcgi_pass   172.18.0.30:9000;
             fastcgi_index  index.php;
             fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;   
             include        fastcgi_params;
         }

在这里插入图片描述
创建自定义网段,并命名为mylnmp;

docker network create --subnet=172.18.0.0/16 --opt "com.docker.network.bridge.name"="docker1" mylnmp
docker network list

在这里插入图片描述

1.1.2 再次修改nginx服务的Dockerfile文件(多级构建)

vim /opt/lnmp/nginx/Dockerfile 

FROM centos:7 AS first
MAINTAINER this is nginx image <clr 2023-07-24>
ADD nginx-1.22.0.tar.gz /usr/local/
RUN yum install -y pcre-devel zlib-devel openssl-devel gcc gcc-c++ make && \
useradd -M -s /sbin/nologin nginx && \
cd /usr/local/nginx-1.22.0 && 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌上花开,静待绽放!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值