DevOps

Docker 安装 PHP+Mysql+Nginx

2018-11-21  本文已影响46人  Coder1024

Docker Setup

yum install -y yum-utils device-mapper-persistent-data
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce

配置

systemctl start docker
systemctl enable docker

Mysql

创建容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name m_mysql mysql:5.7

进入容器:

docker exec -it m_mysql /bin/bash

  1. 进入mysql

mysql -uroot -proot

  1. 选择数据库
use mysql

  1. 开启远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

  1. 重启

docker restart m_mysql

PHP

创建容器

docker run -d -p 9000:9000 -v /data/wwwroot:/usr/share/nginx/html --link m_mysql:mysql --name m_phpfpm bitnami/php-fpm:7.0

进入容器

docker exec -it m_phpfpm /bin/bash

Nginx

创建容器

docker run -d -p 80:80 -v /data/wwwroot:/usr/share/nginx/html -v /data/nginx:/etc/nginx -v /data/wwwlogs:/var/log/nginx --link m_phpfpm:phpfpm --name m_nginx nginx:latest

修改/data/nginx/conf/default.conf,配置如下:

server {
    listen       80;
    server_name  _;
    #charset koi8-r;
    access_log  /var/log/nginx/default_nginx.log  main;
    location / {
        root   /usr/share/nginx/html/default;
        index  index.php index.html index.htm;
    }
    #error_page  404              /404.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;
    }
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /usr/share/nginx/html/default;
        fastcgi_pass   phpfpm:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}


参考链接:https://notemi.cn/docker-quickly-set-up-php-nginx-mysql-environment.html

上一篇下一篇

猜你喜欢

热点阅读