构建Docker镜像之LNMP+Wordpress

本文详细介绍了如何在Linux环境下,通过Docker部署LNMP(Nginx, MySQL, PHP)并集成Wordpress服务。从安装CentOS7开始,自定义网络,分别构建Nginx、MySQL和PHP的Docker镜像,到限制容器资源,配置和验证各服务,最后启动Wordpress应用,整个过程清晰详尽。" 111167798,9495928,STM32 HAL库与标准库对比及Arduino配置实战,"['嵌入式开发', 'STM32编程', 'HAL库', 'Arduino入门', 'IDE']
摘要由CSDN通过智能技术生成

目录

一、部署环境

二、安装centos:7

三、自定义网络

四、安装nginx

1、创建Nginx目录

2、编写Nginx的Dockerfile脚本

3、配置nginx.conf文件

4、生成nginx镜像

5、自定义ip地址,并启动镜像容器(限制 Nginx 容器最多使用500MB的内存和1G的Swap)

6、验证Nginx

7、备份Nginx镜像到本地

五、安装MySQL

1、创建MySQL目录

2、配置my.cnf文件

3、编写MySQL的Dockerfile脚本

4、生成MySQL镜像

5、自定义ip地址,并启动镜像容器(限制Mysql容器写/dev/sda的速率为10 MB/s)

6、验证MySQL

7、备份MySQL镜像到本地

六、安装PHP

1、创建PHP目录

2、编写PHP的Dockerfile脚本

3、修改三个配置文件

4、生成PHP镜像

5、自定义ip地址,并启动镜像容器

6、验证PHP

7、备份PHP镜像到本地

七、启动Wordpress服务

1、MySQL授权

2、浏览器访问验证


一、部署环境

容器

操作系统

ip地址

主要软件

nginx

Centos7.6

172.18.0.11

nginx-1.12.0.tar.gz、wordpress-4.9.4-zh_CN.tar

mysql

Centos7.6

172.18.0.12

mysql-boost-5.7.20.tar.gz

php

Centos7.6

172.18.0.13

php-7.1.10.tar

软件包的下载地址   http://101.34.22.188/lnmp_wordpress/

二、安装centos:7

[root@docker-lnmp ~]# docker pull centos:7
[root@docker-lnmp ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       7         eeb6ee3f44bd   2 months ago   204MB

三、自定义网络

[root@docker-lnmp ~]# docker network create --subnet=172.18.0.0/16 mynetwork
ae2c0ab23b97011855e9c89099e8d1f8a6c045b185e569f86333e06d6589b7bd
[root@docker-lnmp ~]# docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
fbed913fbc3a   bridge      bridge    local
c31e47162b35   host        host      local
ae2c0ab23b97   mynetwork   bridge    local
ff4a150e9cc3   none        null      local
[root@docker-lnmp ~]# ifconfig
br-ae2c0ab23b97: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255
        ether 02:42:91:3f:6c:25  txqueuelen 0  (Ethernet)
        RX packets 204647  bytes 299898840 (286.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 90995  bytes 5920196 (5.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

四、安装nginx

1、创建Nginx目录

[root@docker-lnmp ~]# mkdir /opt/nginx
[root@docker-lnmp ~]# cd /opt/nginx
[root@docker-lnmp nginx]# ls
nginx-1.12.0.tar.gz  wordpress-4.9.4-zh_CN.tar.gz

2、编写Nginx的Dockerfile脚本

[root@docker-lnmp nginx]# vim Dockerfile
FROM centos:7
MAINTAINER this is nginx image
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make;useradd -M -s /sbin/nologin nginx
ADD nginx-1.12.0.tar.gz /usr/local/src/
WORKDIR /usr/local/src/nginx-1.12.0
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module;make -j 4 && make install
ENV PATH /usr/local/nginx/sbin:$PATH
ADD nginx.conf /usr/local/nginx/conf/
ADD wordpress-4.9.4-zh_CN.tar.gz /usr/local/nginx/html
RUN chmod 777 -R /usr/local/nginx/html/
EXPOSE 80
VOLUME [ "/usr/local/nginx/html/" ]
CMD [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]

3、配置nginx.conf文件

[root@docker-lnmp nginx]# vim nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        charset utf-8;
        location / {
            root   html;
            index  index.html index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            root           html;
            fastcgi_pass   172.111.0.30:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}

4、生成nginx镜像

[root@docker-lnmp nginx]# docker build -t lnmp:nginx1 .
[root@docker-lnmp nginx]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
lnmp         nginx1    3cb059547907   13 seconds ago   523MB
centos       7         eeb6ee3f44bd   2 months ago     204MB

5、自定义ip地址,并启动镜像容器(限制 Nginx 容器最多使用500MB的内存和1G的Swap)

[root@docker-lnmp nginx]# docker run  -d --name nginx -p 80:80 -m 500m --memory-swap 1g --net mynetwork --ip 172.18.0.11 lnmp:nginx1
a1c5bb69bd325c14f49a3f242745d0e68b6372bf7c31fda47ca5523045a6aac6
[root@docker-lnmp nginx]# docker ps -a
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS                         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值