赞
踩
目录
docker pull php:7.1-fpm
等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为7.1-fpm的镜像。
访问 Nginx 镜像库地址: Docker。
可以通过 Sort by 查看其他版本的 Nginx,默认是最新版本 nginx:latest。
docker pull nginx:latest
docker run --name nginx-test -p 8080:80 -d nginx
参数说明:
- --name nginx-test:容器名称。
- -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
- -d nginx: 设置容器在在后台一直运行
docker run --name myphp-fpm -p 9000:9000 -v /var/www/blog:/www -d php:7.1-fpm
命令说明:
--name myphp-fpm : 将容器命名为 myphp-fpm。
-v /var/www/blog:/www : 将主机中PHP项目目录挂载到容器的 /www目录,在容器内访问 /www 就相当于访问宿主机的 /var/www/blog
php:7.1-fpm
镜像名
mkdir -p /opt/docker/nginx/conf.d
vim testdocker.conf
- server {
- # 监听端口。此端口不能被占用了
- listen 80;
- # 此站点的域名。直接在宿主机配置一个host域名,或者在阿里云等云服务商那里解析过来。
- server_name www.testdocker.com;
- # 此站点的入口目录。这里要注意,/www/public/ 路径是容器内的路径。因为等下会把宿主机的项目路径挂载到容器内的 /www 目录。所以这里访问 /www就相当于访问宿主机的项目路径。
- root /www/public/;
-
- #配置url的伪静态设置
- location / {
- autoindex off;
- if (!-e $request_filename){
- rewrite ^/(.*)$ /index.php?/$1 last; break;
- }
- #伪静态设置
- try_files $uri $uri/ /index.php$is_args$query_string;
- index index.php index.html index.htm;
- }
-
- #配置url处理及转发PHP请求
- location ~ \.php(/|$) {
- # 入口文件
- fastcgi_index index.php;
- # PHP项目的IP和端口。这是php-fpm的地址。由于nginx处理不了PHP代码,所以需要把请求转发给php-fpm进行处理。
- fastcgi_pass 10.10.10.68:9000;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- # 用户的访问日志。注意,这目录必须存在,否则nginx将启动不了。由于我把宿主机的项目路径www挂载到了容器内的/www目录,所以宿主机的项目路径www里需要有wwwlogs目录。
- access_log /var/log/nginx/docker_nginx_access.log;
- # 错误日志
- error_log /var/log/nginx/docker_nginx_error.log;
- }

配置文件说明:
- 10.10.10.68:9000:表示 php-fpm 服务的 URL,下面我们会具体说明。
- root /www/public/:项目的根目录,这里之所以写成( /www/public),是因为在启动PHP时,已经将项目的根目录(/var/www/blog)挂载到容器内的/www目录了
docker run --name my-nginx -p 80:80 -d -v /var/www/blog:/www -v /opt/docker/nginx/conf.d:/etc/nginx/conf.d nginx
图一端口(9000)生效,图二端口(9000)没生效,如果php-fpm没有端口,最后导致的结果就是,客户端通过域名访问项目,在通过nginx请求php-fpm时会提示:502
nginx错误提示是:connect() failed (111: Connection refused) while connecting to upstream
docker container attach 附加到正在运行的容器 docker container commit 从容器的更改创建一个新的映像 docker container cp 在容器和本地文件系统之间复制文件/文件夹 docker container create 创建一个新的容器 docker container diff 检查容器文件系统上文件或目录的更改 docker container exec 在运行容器中运行命令 docker container export 将容器的文件系统导出为tar存档 docker container inspect 显示一个或多个容器的详细信息 docker container kill 杀死一个或多个运行容器 docker container logs 获取容器的日志 docker container ls 列出容器 docker container pause 暂停一个或多个容器内的所有进程 docker container port 列出端口映射或容器的特定映射 docker container prune 取出所有停止的容器 docker container rename 重命名容器 docker container restart 重新启动一个或多个容器 docker container rm 删除(移除)一个或多个容器 docker container run 在新容器中运行命令 docker container start 启动一个或多个停止的容器 docker container stats 显示容器的实时流资源使用统计信息 docker container stop 停止一个或多个运行容器 docker container top 显示容器的正在运行的进程 docker container unpause 取消暂停一个或多个容器内的所有流程 docker container update 更新一个或多个容器的配置 docker container wait 阻止一个或多个容器停止,然后打印退出代码以上命令中的 container 可以省略不写,
例如命令:docker container stop 容器ID/容器名称 等同 docker stop 容器ID/容器名称
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。