docker 搭建nginx+php+mysql

本文详细介绍如何使用Docker快速部署LNMP(Linux+Nginx+MySQL+PHP)环境,包括拉取镜像、配置服务、建立容器间连接及调整Nginx配置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker 搭建nginx+php+mysql

  • docker 部署mysql

      docker pull mysql:5.7
    
  • 启动mysql 服务

      docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
    
  • 开启Mysql远程连接

    • docker 进入数据库 docker exec -it mysql bash
    • 执行命令
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    • FLUSH PRIVILEGES;
    • 重启docker mysql服务生效
  • docker 部署php

      docker pull bitnami/php-fpm
    
  • 启动php-fpm

      docker run -d -p 9000:9000 -v /usr/local/docker/nginx/www:/usr/share/nginx/html --privileged=true --name php-fpm bitnami/php-fpm
    
  • docker 部署nginx

      docker pull nginx 
    
  • 复制docker nginx.conf文件以便修改(启动后复制)

      docker cp webserver:/etc/nginx/nginx.conf config/nginx.conf
    
  • 启动nginx 服务

      docker run -d -p 80:80 --privileged=true -v /usr/local/docker/nginx/www:/usr/share/nginx/html:rw -v /usr/local/docker/nginx/log:/var/log/nginx:rw -v /usr/local/docker/nginx/config/nginx.conf:/etc/nginx/nginx.conf:rw -v /usr/local/docker/nginx/config/conf.d:/etc/nginx/conf.d:rw --link php-fpm:phpfpm --name webserver nginx
    
    • -p表示端口映射
    • -v表示目录映射
    • –name表示开启应用名称
    • –link php-fpm:phpfpm表示与另外一个容器php-fpm建立起联系
  • 修改conf.d里面的应用配置文件中的server配置

      location ~ \.php$ {
          fastcgi_pass   phpfpm:9000;//phpfpm为建立连接容器的名称
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENA $document_root$fastcgi_script_name;
       	  include        fastcgi_params;
      }
    
  • 进入容器

      docker exec -it webserver bash
    
  • 查看当前宿主机的所有镜像

      docker images
    
  • 查看容器信息,可查ip

      docker inspect 容器名或ID(用来配置本地域名)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值