docker安装php+nginx+mysql

https://www.jianshu.com/p/828638650dd5

按照上面的网址进行配置,注意会出现mysql的错误,需要按照下面的方法进行修改

https://www.cnblogs.com/linjiqin/p/11465804.html

(长时间的调试之后记录一下)

docker run -p 3306:3306 --name docker-mysql \                                                                                         -v /home/felix/Data/DockerEnv/nginx-mysql-php/mysql/conf:/etc/mysql \
-v /home/felix/Data/DockerEnv/nginx-mysql-php/mysql/logs:/logs \
-v /home/felix/Data/DockerEnv/nginx-mysql-php/mysql/data:/mysql_data \
-e MYSQL_ROOT_PASSWORD= '' \
-v /home/felix/Data/DockerEnv/nginx-mysql-php/mysql/my.cnf:/etc/mysql/my.cnf \
-d --link docker-php mysql

docker run --name docker-nginx -p 80:80 -d -v /home/felix/Data/DockerEnv/nginx-mysql-php/nginx/www:/usr/share/nginx/html -v /home/felix/Data/DockerEnv/nginx-mysql-php/nginx/conf.d:/etc/nginx/conf.d --link docker-php:php --link docker-mysql:mysql nginx

docker run --name docker-php --link docker-mysql:mysql -v /home/felix/Data/DockerEnv/nginx-mysql-php/nginx/www:/var/www/html -d php:fpm

server {
        listen       80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        location ~ \.php$ {
            fastcgi_pass   php:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
            include        fastcgi_params;
        }
}

[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


备注:网上垃圾文章太多,要耐心;这里最好使用docker的配置脚本,手动配置问题太多!

你可能感兴趣的:(Web开发)