CentOS7环境下使用Docker搭建PHP运行环境的过程详解

 更新时间:2021年08月03日 10:35:46   作者:李维山  
这篇文章主要介绍了CentOS7环境下使用Docker搭建PHP运行环境,文中给大家提到创建私有网络及安装nginx的方法,本文给大家介绍的非常详细,需要的朋友可以参考下

相关文章:

CentOS7下使用yum安装Docker

Win10环境下使用Docker搭建PHP运行环境

1、创建私有网络

docker network create lnmp

       私有网络创建成功: 

2、安装Nginx

      镜像地址:https://hub.docker.com/_/nginx?tab=tags

       可以安装最新版Nginx,这里通过搜索标签,拉取 Nginx1.18.0 镜像:

docker pull nginx:1.18.0

      使用 docker images 命令查看 安装Nginx镜像成功: 

      运行Nginx:

#运行容器
docker run --name nginx -p 8080:80 -v /root/docker/nginx/html:/usr/share/nginx/html -d nginx:1.18.0
 
#移动到配置目录
cd /root/docker/nginx
 
#复制配置文件
docker cp nginx:/etc/nginx/conf.d conf.d
 
#停止容器
docker stop nginx
 
#删除容器 
docker rm nginx 
 
#再次运行
docker run --name nginx -p 8080:80 --network lnmp -v /root/docker/nginx/html:/usr/share/nginx/html -v  /root/docker/nginx/conf.d:/etc/nginx/conf.d/ -d nginx:1.18.0

      测试:在Nginx站点根目录html目录下创建index.html文件,并写入文字:

echo "Nginx Server" >> /root/docker/nginx/html/index.html

      浏览器访问主机地址 127.0.0.1:8080 如下,则Nginx安装成功:

3、安装MySQL

      镜像地址:https://hub.docker.com/_/mysql?tab=tags ,这里拉取MySQL5.7.34镜像:

docker pull mysql:5.7.35

      运行MySQL:

docker run --name mysql5.7 --network lnmp -v /root/docker/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d --privileged=true mysql:5.7.35

4、安装PHP

      镜像地址:https://hub.docker.com/_/php?tab=tags,这里拉取PHP7.4镜像:

docker pull php:7.4-fpm

      运行PHP:

#运行镜像
docker run --name php7.4 --network lnmp -d php:7.4-fpm
 
#创建目录
mkdir -p /root/docker/php
 
#移动目录
cd /root/docker/php/
 
#复制www.conf
docker cp php7.4:/usr/local/etc/php-fpm.d/www.conf www.conf
 
#进入容器
docker exec -it php7.4 bash
 
#移动目录
cd /usr/src/
 
#解压文件
xz -d php.tar.xz
 
#解压文件
tar -xvf  php.tar
 
#退出镜像
exit
 
#复制php.ini
docker cp php7.4:/usr/src/php-7.4.22/php.ini-production php.ini
 
#停止镜像
docker stop php7.4
 
#删除镜像
docker rm php7.4
 
#再次运行镜像
docker run --name php7.4 --network lnmp -v /root/docker/nginx/html:/var/www/html -v /root/docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf -v /root/docker/php/php.ini:/usr/local/etc/php/php.ini -d php:7.4-fpm

      编辑Nginx配置文件 vim /root/docker/nginx/conf.d:

server {
    listen       80;
    server_name  localhost;
    
    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
 
    location / {
        root /usr/share/nginx/html;
        index index.php index.html index.htm;
        try_files $uri $uri/ =404;
    }
 
    error_page  404  /404.html;
    location = /40x.html {
        root  /user/share/nginx/html;
    }
 
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /var/www/html/;
        fastcgi_pass   php7.4:9000;
        fastcgi_index  index.php;
#        fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 
    }
}

      创建index.php文件:vim /root/docker/nginx/html/index.php

<?php
    phpinfo();

      重启Nginx镜像:(进程ID通过 docker ps 命令查看)

docker restart 43aea5a90446

      此时浏览器访问主机地址 127.0.0.1:8080 如下,则PHP安装成功:

到此这篇关于CentOS7环境下使用Docker搭建PHP运行环境的文章就介绍到这了,更多相关Docker搭建PHP运行环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker实现资源清理方式

    docker实现资源清理方式

    这篇文章主要介绍了docker实现资源清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Docker挂载/etc/timezone报错问题

    Docker挂载/etc/timezone报错问题

    这篇文章主要介绍了Docker挂载/etc/timezone报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Jenkins整合Docker自动化部署的实现

    Jenkins整合Docker自动化部署的实现

    本文主要介绍了Jenkins整合Docker自动化部署的实现,通过结合Jenkins的持续集成和Docker的容器化技术,可以高效地构建、测试和部署应用程序,感兴趣的可以了解一下
    2023-11-11
  • Docker搭建私有仓库之Harbor的步骤

    Docker搭建私有仓库之Harbor的步骤

    这篇文章主要介绍了Docker搭建私有仓库之Harbor的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • IDEA集成docker部署springboot项目的全过程

    IDEA集成docker部署springboot项目的全过程

    这篇文章主要介绍了IDEA集成docker部署springboot项目,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • docker-compose如何定义容器的ip

    docker-compose如何定义容器的ip

    这篇文章主要介绍了docker-compose如何定义容器的ip问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • WIN10系统和Docker内部容器IP互通方式

    WIN10系统和Docker内部容器IP互通方式

    这篇文章主要介绍了WIN10系统和Docker内部容器IP互通方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker 部署hbase并且java Api连接的操作过程

    docker 部署hbase并且java Api连接的操作过程

    这篇文章主要介绍了docker 部署hbase并且java Api连接的操作过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • 详解Docker在哪里保存日志文件

    详解Docker在哪里保存日志文件

    本文主要介绍了Docker在哪里保存日志文件,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • docker 查看容器日志命令的实现

    docker 查看容器日志命令的实现

    这篇文章主要介绍了docker 查看容器日志命令的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论