<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>运达&#039;s  blog &#187; docker</title>
	<atom:link href="https://www.yunda51.com/?feed=rss2&#038;tag=docker" rel="self" type="application/rss+xml" />
	<link>https://www.yunda51.com</link>
	<description>运达的博客</description>
	<lastBuildDate>Wed, 12 Nov 2025 07:58:26 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0.19</generator>
	<item>
		<title>MacOs下本地docker部署Nginx+Php详细流程</title>
		<link>https://www.yunda51.com/?p=1989</link>
		<comments>https://www.yunda51.com/?p=1989#comments</comments>
		<pubDate>Wed, 17 Jan 2024 08:12:30 +0000</pubDate>
		<dc:creator><![CDATA[运达]]></dc:creator>
				<category><![CDATA[docker]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[MacOs]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.yunda51.com/?p=1989</guid>
		<description><![CDATA[大家好，今天实操一下本地docker如何部署Nginx+Php详细步骤，随着 Docker 容器化技术的不断发<a href="https://www.yunda51.com/?p=1989" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p>大家好，今天实操一下本地docker如何部署Nginx+Php详细步骤，随着 Docker 容器化技术的不断发展，它已经成为了现代软件开发和部署中不可或缺的一部分。Docker 提供了一种轻量级、可移植的方式来打包和运行应用程序，使开发人员能够在不同的环境中轻松地部署和管理应用程序，废话不多说。<br />
<strong>1、docker下载：</strong><br />
进入Docker官网（<a href="https://www.docker.com/get-started/" title="docker官网">https://www.docker.com/get-started/</a>），如图位置，点击mac版本的docker下载：<br />
<a href="http://www.yunda51.com/wp-content/uploads/2024/01/docker.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/docker.jpg" alt="docker" width="2726" height="1270" class="alignnone size-full wp-image-1990" /></a><br />
安装后，点击图标：<br />
<a href="http://www.yunda51.com/wp-content/uploads/2024/01/1.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/1.jpg" alt="1" width="374" height="276" class="alignnone size-full wp-image-1993" /></a><br />
<strong>1.1、配置docker下载镜像:</strong><br />
<a href="http://www.yunda51.com/wp-content/uploads/2024/01/1.2.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/1.2.jpg" alt="1.2" width="2540" height="1430" class="alignnone size-full wp-image-1996" /></a><br />
<a href="http://www.yunda51.com/wp-content/uploads/2024/01/1.3.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/1.3.jpg" alt="1.3" width="2540" height="1430" class="alignnone size-full wp-image-1997" /></a></p>
<pre class="wp-code-highlight prettyprint">
&quot;registry-mirrors&quot;: [
    &quot;https://docker.mirrors.ustc.edu.cn/&quot;,
    &quot;https://hub-mirror.c.163.com/&quot;,
    &quot;https://reg-mirror.qiniu.com&quot;
  ]
</pre>
<p><strong>1.2、在本地建好对应映射关系的文件夹</strong><br />
<a href="http://www.yunda51.com/wp-content/uploads/2024/01/1.4.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/1.4.jpg" alt="1.4" width="1526" height="862" class="alignnone size-full wp-image-1998" /></a><br />
我的本地映射文件目录~/docker-nmp/nginx<br />
<strong>1.3、打开你的终端：</strong><br />
执行：docker -v会显示你当前docker版本好，表示docker安装成功。<br />
<a href="http://www.yunda51.com/wp-content/uploads/2024/01/1.5.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/1.5.jpg" alt="1.5" width="686" height="64" class="alignnone size-full wp-image-2000" /></a><br />
<strong>2、安装Nginx：</strong><br />
使用docker pull命令，在线拉取nginx镜像，如果没有特殊版本需求，可直接输入nginx:latest</p>
<pre class="wp-code-highlight prettyprint">
执行命令：docker pull nginx:latest
</pre>
<p>执行完成之后，你可以在docker desktop上，可以点击images选项进行查看，镜像是否拉取成功。<br />
如图所示：<br />
<a href="http://www.yunda51.com/wp-content/uploads/2024/01/2.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/2.jpg" alt="2" width="2538" height="1428" class="alignnone size-full wp-image-2001" /></a><br />
或者你可以在终端输入：docker images 查看，如图：<br />
<a href="http://www.yunda51.com/wp-content/uploads/2024/01/2.1.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/2.1.jpg" alt="2.1" width="940" height="658" class="alignnone size-full wp-image-2002" /></a><br />
<strong>3、安装PHP：</strong><br />
我安装的是PHP7.4版本，大家可以根据自己情况去安装不同版本,如果没有版本需求，也可以输入php:latest</p>
<pre class="wp-code-highlight prettyprint">
执行命令：docker pull php:7.4-fpm
</pre>
<p><strong>4、启动PHP容器：</strong></p>
<pre class="wp-code-highlight prettyprint">
执行：docker run --name myphp-fpm -v ~/docker-nmp/nginx/www:/www -d 38f2b691dcb8
</pre>
<pre class="wp-code-highlight prettyprint">
下面我来解释一下：
--name  myphp-fpm : 将容器命名为 myphp-fpm。
-v ~/docker-nmp/nginx/www:/www：是我在本地创建的一个文件目录，用来将主机中项目的目录 www 挂载到容器的 /www
38f2b691dcb8：是php的镜像ID。
</pre>
<p><a href="http://www.yunda51.com/wp-content/uploads/2024/01/3.1.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/3.1.jpg" alt="3.1" width="1130" height="598" class="alignnone size-full wp-image-2004" /></a><br />
容器启动正常，可以使用命令行来查看：</p>
<pre class="wp-code-highlight prettyprint">
执行：docker ps
</pre>
<p><a href="http://www.yunda51.com/wp-content/uploads/2024/01/3.2.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/3.2.jpg" alt="3.2" width="1798" height="124" class="alignnone size-full wp-image-2007" /></a><br />
创建:  ~/docker-nmp/nginx/conf/conf.d 目录：</p>
<pre class="wp-code-highlight prettyprint">
mkdir ~/docker-nmp/nginx/conf/conf.d
</pre>
<p>在该目录下添加 ~/docker-nmp/nginx/conf/conf.d/coonote-test-php.conf 文件，内容如下：</p>
<pre class="wp-code-highlight prettyprint">
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;
    }
}
</pre>
<p>配置文件说明：<br />
php:9000: 表示 php-fpm 服务的 URL，下面我们会具体说明。<br />
/www/: 是 myphp-fpm 中 php 文件的存储路径，映射到本地的 ~/docker-nmp/nginx/www 目录。<br />
<strong>5、启动Nginx容器并关联PHP，这一步很重要</strong></p>
<pre class="wp-code-highlight prettyprint">
docker run --name coonote-php-nginx -p 8083:80 -d \
-v ~/docker-nmp/nginx/www:/usr/share/nginx/html:ro \
-v ~/docker-nmp/nginx/conf/conf.d:/etc/nginx/conf.d:ro \
--link myphp-fpm:php \
nginx
</pre>
<p>命令说明：<br />
-p 8083:80: 端口映射，把 nginx 中的 80 映射到本地的 8083 端口。<br />
~/docker-nmp/nginx/www: 是本地 html 文件的存储目录，/usr/share/nginx/html 是容器内 html 文件的存储目录。<br />
~/docker-nmp/nginx/conf/conf.d: 是本地 nginx 配置文件的存储目录，/etc/nginx/conf.d 是容器内 nginx 配置文件的存储目录。<br />
--link myphp-fpm:php: 把 myphp-fpm 的网络并入 nginx，并通过修改 nginx 的 /etc/hosts，把域名 php 映射成 127.0.0.1，让 nginx 通过 php:9000 访问 php-fpm。<br />
接下来我们在 ~/docker-nmp/nginx/www 目录下创建 index.php，代码如下：</p>
<pre class="wp-code-highlight prettyprint">
&lt;?php
    echo phpinfo();
?&gt;
</pre>
<p>打开浏览器输入：http://localhost:8083/index.php显示如下：<br />
<a href="http://www.yunda51.com/wp-content/uploads/2024/01/4.jpg"><img src="http://www.yunda51.com/wp-content/uploads/2024/01/4.jpg" alt="4" width="2320" height="1424" class="alignnone size-full wp-image-2008" /></a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.yunda51.com/?feed=rss2&#038;p=1989</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
