下载镜像包

拜访https://registry.hub.docker.c... lnmp镜像地址
关上终端

docker pull 2233466866/lnmp

启动docker相干配置

docker run -it --privileged --name=lnmp -p 20016:80 -p 3306:3306  -v ~/www:/www  -v ~/lnmp-data/env/mysqlData:/data/mysql -v ~/lnmp-data/env/nginx.conf:/usr/local/nginx/conf/nginx.conf 2233466866/lnmp

阐明:

  • ~/www 是工作目录
  • ~/lnmp-data/env/mysqlData 是数据库目录
  • ~/lnmp-data/env/nginx.conf 是nginx是配置文件
  • 20016是本地端口

我的一个我的项目 目录是~/www/laravel,所以nginx.conf配置文件的内容如下:

user                    www;worker_processes        auto;worker_cpu_affinity     auto;pid                     logs/nginx.pid;events {    worker_connections  102400;}http {    charset             utf-8;    server_tokens       off;    log_format  main    '$remote_addr - $remote_user [$time_local] "$request" '                        '$status $body_bytes_sent "$http_referer" '                        '"$http_user_agent" "$http_x_forwarded_for"';    include             mime.types;    default_type        application/octet-stream;    client_max_body_size 20M;    sendfile            on;    keepalive_timeout   20;    gzip                on;    gzip_vary           on;    gzip_comp_level     1;    gzip_types          text/css application/javascript application/json image/png image/webp image/apng image/jpeg image/x-icon;    error_log           /www/z_error.log;    access_log          /www/z_$host.log main;    server {        listen      80;        server_name www.test.com;        root        /www/laravel/public;        index index.html index.htm index.php        autoindex on;                location / {            index   index.php index.html index.htm;            try_files $uri $uri/ /index.php?$query_string;        }        location ~* \.php {            include                 fastcgi_params;            fastcgi_index           index.php;            fastcgi_pass            127.0.0.1:9000;            fastcgi_split_path_info ^(.+\.php)(.*)$;            fastcgi_param           PATH_INFO       $fastcgi_path_info;            fastcgi_param           SCRIPT_NAME     $fastcgi_script_name;            fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;        }    }}

mysql设置

进入docker中

docker exec -it 容器id /bin/bash
cat /var/log/mysqld.log|grep 'A temporary password'

就会呈现明码,用明码连贯到mysql中,

alter user user() identified by "ur93Y*Qt,?hN";GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ur93Y*Qt,?hN' WITH GRANT OPTION;FLUSH PRIVILEGES;

这样就能够在本地用客户端连贯到docker容器中的mysql了。

关上chrome,输出localhost:20016,应该能够看到内容了。