docker 搭建nginx+php+mysql

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(用来配置本地域名)
    

猜你喜欢

转载自blog.csdn.net/kingandwede136/article/details/85047162