• 【Dockerfile镜像实战】构建LNMP环境并运行Wordpress网站平台


    【Dockerfile镜像实战】构建LNMP环境并运行Wordpress网站平台

    Nginx部署

    [root@localhost ~]# systemctl stop firewalld
    [root@localhost ~]# setenforce 0
    
    • 1
    • 2

    在这里插入图片描述

    [root@localhost ~]# docker pull centos:7
    
    • 1

    在这里插入图片描述

    [root@localhost ~]# docker images
    
    • 1

    在这里插入图片描述

    cd /opt
    mkdir nginx
    cd nginx
    vim Dockerfile
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述

    vim nginx.conf
    
    • 1

    在这里插入图片描述

    cd /opt/nginx
    rz -E //将nginx的安装包导入进来
    mkdir html
    cd html
    rz -E //将wordpress的安装包导入进来
    tar xf wordpress-4.9.4-zh_CN.tar.gz //解压文件
    rm -rf wordpress-4.9.4-zh_CN.tar.gz //删除压缩包
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    [root@localhost nginx]# docker build -t nginx:lnmp .
    [root@localhost nginx]# docker images
    
    • 1
    • 2

    在这里插入图片描述

    docker run -d --name nginx -p 80:80 -v /opt/nginx/html:/usr/local/nginx/html -v /opt/nginx/nginx.conf:/usr/local/nginx/conf/nginx.conf --net lnmpnetwork --ip 172.18.0.10 nginx:lnmp
    
    docker ps -a
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    cd /opt/nginx/html
    vim index.html  
    //新建一个测试网页,查看nginx是否能正常运行
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    [root@localhost nginx]# docker exec -it nginx bash
    [root@d94d0066c01a /]# 
    [root@d94d0066c01a /]# cd /usr/local/nginx/html/
    [root@d94d0066c01a html]# 
    [root@d94d0066c01a html]# ls
    wordpress
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    MySQL部署

    [root@localhost nginx]# cd /opt
    [root@localhost opt]# 
    [root@localhost opt]# ls
    containerd  nginx  rh
    [root@localhost opt]# 
    [root@localhost opt]# mkdir mysql php
    [root@localhost opt]# 
    [root@localhost opt]# ls
    containerd  mysql  nginx  php  rh
    [root@localhost opt]# 
    [root@localhost opt]# cd mysql/
    [root@localhost mysql]# 
    [root@localhost mysql]# ls
    [root@localhost mysql]# 
    [root@localhost mysql]# rz -E
    rz waiting to receive.
    [root@localhost mysql]# 
    [root@localhost mysql]# touch Dockerfile
    [root@localhost mysql]# 
    [root@localhost mysql]# ls
    Dockerfile  mysql-boost-5.7.41.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    在这里插入图片描述

    [root@localhost mysql]# vim Dockerfile 
    
    • 1

    在这里插入图片描述

    [root@localhost mysql]# vim my.cnf
    
    • 1

    在这里插入图片描述

    [root@localhost mysql]# docker build -t mysql:lnmp .
    
    • 1

    在这里插入图片描述

    [root@localhost docker]# docker run --name mysql -d --privileged -v /usr/local/mysql --network lnmpnetwork --ip 172.18.0.20 mysql:lnmp
    13f2bb048679a6d4042f5f235e794305ca6e8c2912d8b13b8b8d891c0911a34f
    [root@localhost docker]# 
    [root@localhost docker]# docker ps -a
    CONTAINER ID   IMAGE        COMMAND                   CREATED          STATUS          PORTS                                        NAMES
    13f2bb048679   mysql:lnmp   "/usr/local/mysql/bi…"   17 seconds ago   Up 10 seconds   3306/tcp                                     mysql
    d94d0066c01a   nginx:lnmp   "/usr/local/nginx/sb…"   2 hours ago      Up 46 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp   nginx
    [root@localhost docker]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    [root@13f2bb048679 mysql]# mysql
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    
    mysql> quit;
    Bye
    [root@13f2bb048679 mysql]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述

    [root@13f2bb048679 mysql]# mysqladmin -u root -p password "abc123"
    
    • 1

    在这里插入图片描述

    [root@13f2bb048679 mysql]# mysql -u root -pabc123
    
    • 1

    在这里插入图片描述

    PHP部署

    [root@localhost mysql]# 
    [root@localhost mysql]# cd ../php/
    [root@localhost php]# 
    [root@localhost php]# ls
    [root@localhost php]# 
    [root@localhost php]# rz -E
    rz waiting to receive.
    [root@localhost php]# 
    [root@localhost php]# ls
    php-7.1.10.tar.bz2
    [root@localhost php]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    [root@localhost php]# vim Dockerfile 
    [root@localhost php]# 
    [root@localhost php]# 
    [root@localhost php]# vim php-fpm.conf 
    [root@localhost php]# 
    [root@localhost php]# vim php.ini 
    [root@localhost php]# 
    [root@localhost php]# vim www.conf 
    [root@localhost php]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    [root@localhost php]# docker build -t php:lnmp .
    
    • 1

    在这里插入图片描述

    [root@localhost php]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
    php          lnmp      f969ee0fe328   2 minutes ago   421MB
    mysql        lnmp      03aa4c425566   3 hours ago     4.24GB
    nginx        lnmp      01356f501e0c   6 hours ago     208MB
    centos       7         eeb6ee3f44bd   2 years ago     204MB
    [root@localhost php]# 
    [root@localhost php]# docker run --name=php -d -p 9000:9000 --volumes-from mysql --volumes-from nginx --network lnmpnetwork --ip 172.18.0.30 php:lnmp
    fc67bd7f644ba8b704398db992420fcf80662b50b0a1ab28a9200af6ff73f400
    [root@localhost php]# 
    [root@localhost php]# docker ps -a
    CONTAINER ID   IMAGE        COMMAND                   CREATED          STATUS          PORTS                                        NAMES
    fc67bd7f644b   php:lnmp     "/usr/local/php/sbin…"   12 seconds ago   Up 11 seconds   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp    php
    13f2bb048679   mysql:lnmp   "/usr/local/mysql/bi…"   3 hours ago      Up 3 hours      3306/tcp                                     mysql
    d94d0066c01a   nginx:lnmp   "/usr/local/nginx/sb…"   5 hours ago      Up 4 hours      0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp   nginx
    [root@localhost php]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述

    [root@localhost php]# docker exec -it nginx bash
    [root@d94d0066c01a /]# 
    [root@d94d0066c01a /]# cd /usr/local/nginx/html/
    [root@d94d0066c01a html]# 
    [root@d94d0066c01a html]# ll
    total 4
    drwxr-xr-x. 5 nobody 65534 4096 Feb  8  2018 wordpress
    [root@d94d0066c01a html]# 
    [root@d94d0066c01a html]# chown -R nginx:nginx wordpress/
    [root@d94d0066c01a html]# 
    [root@d94d0066c01a html]# ll
    total 4
    drwxr-xr-x. 5 nginx nginx 4096 Feb  8  2018 wordpress
    [root@d94d0066c01a html]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    [root@13f2bb048679 /]# mysql -u root -p
    Enter password: 
    mysql> 
    mysql> create database wordpress;
    Query OK, 1 row affected (0.01 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | wordpress          |
    +--------------------+
    5 rows in set (0.00 sec)
    
    mysql> 
    mysql> grant all privileges on wordpress.* to 'wordpress'@'%' identified by 'admin123';
    Query OK, 0 rows affected, 1 warning (0.01 sec)
    
    mysql> grant all privileges on *.* to 'root'@'%' identified by 'admin123';
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    在这里插入图片描述

    浏览器访问:
    http://192.168.190.120/wordpress/index.php
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    附录一-pandas操作excel
    [python 刷题] 138 Copy List with Random Pointer
    ChatGPT/GPT4科研应用与AI绘图及论文高效写作
    设备驱动号 绑定文件描述符
    驱动开发:内核LoadLibrary实现DLL注入
    springcloudalibaba-3
    想学设计模式、想搞架构设计,先学学 UML 系统建模吧
    基于PHP+MYSQL高等数学在线学习教学系统的设计与实现
    详解:到底什么是GPS北斗授时服务器?
    【面试题】Vue2为什么能通过this访问到data、methods的属性或方法
  • 原文地址:https://blog.csdn.net/m0_62231324/article/details/134273598