ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## [Nginx](https://store.docker.com/images/nginx/) ### 基本信息 [Nginx](https://en.wikipedia.org/wiki/Nginx) 是开源的高效的 Web 服务器实现,支持 HTTP、HTTPS、SMTP、POP3、IMAP 等协议。 该仓库位于 <https://store.docker.com/images/nginx/> ,提供了 Nginx 1.0 ~ 1.13.x 各个版本的镜像。 ### 使用方法 下面的命令将作为一个静态页面服务器启动。 ``` <pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">$ docker run </span><span class="pun">--</span><span class="pln">name some</span><span class="pun">-</span><span class="pln">nginx </span><span class="pun">-</span><span class="pln">v </span><span class="pun">/</span><span class="pln">some</span><span class="pun">/</span><span class="pln">content</span><span class="pun">:/</span><span class="pln">usr</span><span class="pun">/</span><span class="pln">share</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/</span><span class="pln">html</span><span class="pun">:</span><span class="pln">ro </span><span class="pun">-</span><span class="pln">d nginx</span></code></li></ol> ``` 用户也可以不使用这种映射方式,通过利用 Dockerfile 来直接将静态页面内容放到镜像中,内容为 ``` <pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">FROM nginx</span></code></li> <li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">COPY static</span><span class="pun">-</span><span class="pln">html</span><span class="pun">-</span><span class="pln">directory </span><span class="pun">/</span><span class="pln">usr</span><span class="pun">/</span><span class="pln">share</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/</span><span class="pln">html</span></code></li> </ol> ``` 之后生成新的镜像,并启动一个容器。 ``` <pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">$ docker build </span><span class="pun">-</span><span class="pln">t some</span><span class="pun">-</span><span class="pln">content</span><span class="pun">-</span><span class="pln">nginx </span><span class="pun">.</span></code></li> <li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">$ docker run </span><span class="pun">--</span><span class="pln">name some</span><span class="pun">-</span><span class="pln">nginx </span><span class="pun">-</span><span class="pln">d some</span><span class="pun">-</span><span class="pln">content</span><span class="pun">-</span><span class="pln">nginx</span></code></li> </ol> ``` 开放端口,并映射到本地的 `8080` 端口。 ``` <pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">$ docker run </span><span class="pun">--</span><span class="pln">name some</span><span class="pun">-</span><span class="pln">nginx </span><span class="pun">-</span><span class="pln">d </span><span class="pun">-</span><span class="pln">p </span><span class="lit">8080</span><span class="pun">:</span><span class="lit">80</span><span class="pln"> some</span><span class="pun">-</span><span class="pln">content</span><span class="pun">-</span><span class="pln">nginx</span></code></li></ol> ``` Nginx的默认配置文件路径为 `/etc/nginx/nginx.conf`,可以通过映射它来使用本地的配置文件,例如 ``` <pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln">$ docker run </span><span class="pun">-</span><span class="pln">d \</span></code></li> <li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln"> </span><span class="pun">--</span><span class="pln">name some</span><span class="pun">-</span><span class="pln">nginx \</span></code></li> <li class="l"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln"> </span><span class="pun">-</span><span class="pln">v </span><span class="pun">/</span><span class="pln">some</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">.</span><span class="pln">conf</span><span class="pun">:/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">.</span><span class="pln">conf</span><span class="pun">:</span><span class="pln">ro \</span></code></li> <li class="l1"><code class="pcalibre10 pcalibre11 pcalibre9"><span class="pln"> nginx</span></code></li> </ol> ``` ### Dockerfile 请到 <https://github.com/docker-library/docs/tree/master/nginx> 查看。