端口转发与docker for wordpress

时间:2015-04-09 10:48:54

标签: mysql wordpress docker

我是码头工人的新手。我按照这里的教程https://www.youtube.com/watch?v=Pe6a8Jbvi9E创建了一个带有docker的WordPress站点。他正在使用以下命令解释端口转发,

docker run --link=my_mysql:mysql -p 80:80 -d wordpress

据我所知,这会将主机端口80中的所有请求重定向到容器的端口80。但是这将如何与mysql的端口3306进行通信?并且在该教程中数据库的详细信息没有设置在wordpress的任何地方,而不是从db配置值取自的位置?谁能解释一下?对不起,如果这是非常基本的问题。

1 个答案:

答案 0 :(得分:3)

  

但是这将如何与mysql的端口3306进行通信?

wordpress容器将与mysql容器通信,因为这是链接允许的内容:(请参阅Linking Containers Together

  

链接允许容器相互发现并将有关一个容器的信息安全地传输到另一个容器。设置链接时,将在源容器和收件人容器之间创建管道。

因此端口3306 暴露给主机(就像80端口一样),但wordpress容器可以看到它。

  

Docker在容器之间创建一个安全隧道,不需要在容器外部暴露任何端口;您注意到我们启动数据库容器时,我们没有使用-P-p标志。
  这是链接的一大好处:我们不需要将源容器(此处为mysql数据库)暴露给网络。

     

Docker 为源容器公开的每个端口定义一组环境变量   每个变量都有一个唯一的前缀:

<name>_PORT_<port>_<protocol>
  

此前缀中的组件为:

     
      
  • <name>参数中指定的别名--link(例如,mysql)
  •   
  • 公开的<port>号码
  •   
  • 一个<protocol>,它是TCP或UDP
  •