擅长:python、mysql、java
<p>要让局域网上的其他计算机连接到您的服务,只需使用<code>0.0.0.0</code>函数中的<code>app.run()</code>地址,并将所需端口从docker容器公开到主机PC</p>
<p>为了暴露你需要的端口</p>
<p>1)在Dockerfile中指定<code>EXPOSE</code>指令</p>
<p>2)使用<code>-p <port_on_host>:<port_in_container></code>参数运行容器。</p>
<p>例如:</p>
<p>文档文件:</p>
<pre><code>FROM ubuntu:17.10
RUN apt-get update && apt-get install -y apache2
EXPOSE 80
ENTRYPOINT ["/usr/sbin/apache2ctl"]
CMD ["-D", "FOREGROUND"]
</code></pre>
<p>生成:</p>
<pre><code>docker build -t image_name .
</code></pre>
<p>运行:</p>
<pre><code>docker run -d -p 80:80 image_name
</code></pre>
<p>检查:</p>
<pre><code>curl http://localhost
</code></pre>
<p>注意:在运行容器之前,请确保主机PC上的另一个应用程序未使用80端口。如果此端口已在使用中-请指定另一个端口,例如<code>8080</code>:</p>
<pre><code>docker run -d -p 8080:80 image_name
</code></pre>
<p>然后检查:</p>
<pre><code>curl http://localhost:8080
</code></pre>
<p>文档是<a href="http://docs.docker.com/engine/reference/builder/#expose" rel="nofollow noreferrer">here</a>。</p>