一 环境系统macOS Sonoma 14.6芯片Apple M3docker 版本27.2.0二 软件安装2.1 docker下载Get Started | Docker进入官网如图位置点击mac版本的docker下载.根据你电脑芯片类型来选择下载的版本2.2安装我们打开Docker应用程序后会有一些选择配置我们按照如下配置即可。这里我们选择Accept选择默认配置就行Docker会自动设置一些大多数开发人员必要的配置。这里可以选择直接跳过出现以上的图标即可到这里并没有正真的完成2.3 版本查询以及问题处理docker --version Docker version 27.2.0, build 3ab4256**问题一 **如果输入这样命令出现以下情况那么你就要去解决这些问题docker --version zshcommand not founddocker那么应该怎么处理那么你就要cat ~/.zshrc看看你的环境变量文件里面有没有docker如果红色框内没有那么依次执行echo export PATH/Applications/Docker.app/Contents/Resources/bin:$PATH ~/.zshrc source ~/.zshrc三 部署nginx和php3.1 安装nginxsudo docker pull nginx问题二Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)为啥出现以上问题因为没有配置国内镜像所以很容易导致链接失败所以现在要配置国内镜像进入该目录然后找到daemon.json进入改文件然后将圈出来的编辑放入这个文件registry-mirrors: [ https://docker.211678.top, https://docker.1panel.live, https://hub.rat.dev, https://docker.m.daocloud.io, https://do.nark.eu.org, https://dockerpull.com, https://dockerproxy.cn, https://docker.awsl9527.cn ]添加完后重启docker软件命名、指定端口并运行nginxsudo docker run --name mynginx -p 8080:80 -d nginx–name mynginx 指定当前容器名称为 mynginx-p 8080:80 将容器的 80 端口映射到主机的 8080 端口-v ~/project/www:/usr/share/nginx/html 将主机的 ~/project/www 目录挂载到容器的 /www-v ~/project/nginx/conf.d:/etc/nginx/conf.d 将主机的 ~/project/nginx/conf.d 目录挂载到容器的 /etc/nginx/conf.d–link myphp:php 将 myphp 容器的网络并入 nginx 容器实现容器间的通信如果想将docker内的文件与docker外的文件相关关联那么你可以在本地文件夹中创建对应文件mkdir -p ~/project/nginx/www ~/project/nginx/logs ~/project/nginx/confwww是项目路经logs是nginx错误日志conf 是nginx配置文件可以看见nginx正常运行接下来复制docker容器终端配置文件到宿主中输入ce1e83caf65f这个在上图查看安装中可见到docker cp ce1e83caf65f:/etc/nginx/nginx.conf ~/project/nginx/conf可以查看一下原配置信息接下来再运行一个新的(删除原来创建的nginx)前面是测试开一个新的需要修改端口号和名字输入如下docker run -d -p 8082:80 --name mynginx2 -v ~/project/nginx/www:/usr/share/nginx/html -v ~/project/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/project/nginx/logs:/var/log/nginx nginx进入www创建cd ~/project/nginx/www vim index.html #写一个hello world DOCTYPE html html head meta charsetutf-8 titlemy test docker/title /head body h1hello world/h1 /body /html在网页上输入http://localhost:8082/index.html,就能看到hello Wrold3.2 安装php输入命令拉取PHP镜像sudo docker pull php:8.0-fpm命名并挂在sudo docker run --name myphp -v ~/project/nginx/www:/www -d php:8.0-fpm配置conf文件mkdir ~/project/nginx/conf/conf.d vim ~/project/nginx/conf/conf.d/code-php.conf编辑写入配置server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } 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 /www$fastcgi_script_name; include fastcgi_params; } }接下来可以把前面的nginx停掉重新运行一个并把PHP接起来docker run --name mynginx-php -p 8081:80 -d -v ~/project/nginx/www:/usr/share/nginx/html:ro -v ~/project/nginx/conf/conf.d:/etc/nginx/conf.d:ro --link myphp:php nginx接下来编写一个index.php?php phpinfo(); ?在网址输入http://localhost:8081/index.php我绑定的是7.4所以显示的是7.4
macOs安装docker且在docker上部署nginx+php
一 环境系统macOS Sonoma 14.6芯片Apple M3docker 版本27.2.0二 软件安装2.1 docker下载Get Started | Docker进入官网如图位置点击mac版本的docker下载.根据你电脑芯片类型来选择下载的版本2.2安装我们打开Docker应用程序后会有一些选择配置我们按照如下配置即可。这里我们选择Accept选择默认配置就行Docker会自动设置一些大多数开发人员必要的配置。这里可以选择直接跳过出现以上的图标即可到这里并没有正真的完成2.3 版本查询以及问题处理docker --version Docker version 27.2.0, build 3ab4256**问题一 **如果输入这样命令出现以下情况那么你就要去解决这些问题docker --version zshcommand not founddocker那么应该怎么处理那么你就要cat ~/.zshrc看看你的环境变量文件里面有没有docker如果红色框内没有那么依次执行echo export PATH/Applications/Docker.app/Contents/Resources/bin:$PATH ~/.zshrc source ~/.zshrc三 部署nginx和php3.1 安装nginxsudo docker pull nginx问题二Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)为啥出现以上问题因为没有配置国内镜像所以很容易导致链接失败所以现在要配置国内镜像进入该目录然后找到daemon.json进入改文件然后将圈出来的编辑放入这个文件registry-mirrors: [ https://docker.211678.top, https://docker.1panel.live, https://hub.rat.dev, https://docker.m.daocloud.io, https://do.nark.eu.org, https://dockerpull.com, https://dockerproxy.cn, https://docker.awsl9527.cn ]添加完后重启docker软件命名、指定端口并运行nginxsudo docker run --name mynginx -p 8080:80 -d nginx–name mynginx 指定当前容器名称为 mynginx-p 8080:80 将容器的 80 端口映射到主机的 8080 端口-v ~/project/www:/usr/share/nginx/html 将主机的 ~/project/www 目录挂载到容器的 /www-v ~/project/nginx/conf.d:/etc/nginx/conf.d 将主机的 ~/project/nginx/conf.d 目录挂载到容器的 /etc/nginx/conf.d–link myphp:php 将 myphp 容器的网络并入 nginx 容器实现容器间的通信如果想将docker内的文件与docker外的文件相关关联那么你可以在本地文件夹中创建对应文件mkdir -p ~/project/nginx/www ~/project/nginx/logs ~/project/nginx/confwww是项目路经logs是nginx错误日志conf 是nginx配置文件可以看见nginx正常运行接下来复制docker容器终端配置文件到宿主中输入ce1e83caf65f这个在上图查看安装中可见到docker cp ce1e83caf65f:/etc/nginx/nginx.conf ~/project/nginx/conf可以查看一下原配置信息接下来再运行一个新的(删除原来创建的nginx)前面是测试开一个新的需要修改端口号和名字输入如下docker run -d -p 8082:80 --name mynginx2 -v ~/project/nginx/www:/usr/share/nginx/html -v ~/project/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/project/nginx/logs:/var/log/nginx nginx进入www创建cd ~/project/nginx/www vim index.html #写一个hello world DOCTYPE html html head meta charsetutf-8 titlemy test docker/title /head body h1hello world/h1 /body /html在网页上输入http://localhost:8082/index.html,就能看到hello Wrold3.2 安装php输入命令拉取PHP镜像sudo docker pull php:8.0-fpm命名并挂在sudo docker run --name myphp -v ~/project/nginx/www:/www -d php:8.0-fpm配置conf文件mkdir ~/project/nginx/conf/conf.d vim ~/project/nginx/conf/conf.d/code-php.conf编辑写入配置server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } 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 /www$fastcgi_script_name; include fastcgi_params; } }接下来可以把前面的nginx停掉重新运行一个并把PHP接起来docker run --name mynginx-php -p 8081:80 -d -v ~/project/nginx/www:/usr/share/nginx/html:ro -v ~/project/nginx/conf/conf.d:/etc/nginx/conf.d:ro --link myphp:php nginx接下来编写一个index.php?php phpinfo(); ?在网址输入http://localhost:8081/index.php我绑定的是7.4所以显示的是7.4