即使状态正在运行,也不能访问在Docker中configuration的wordpress

我按照这里的指示,在Docker中创build一个WordPress的网站: http : //www.sitepoint.com/how-to-use-the-official-docker-wordpress-image/

1.pull&run mysql image:docker run –name wordpressdb -e MYSQL_ROOT_PASSWORD =密码-e MYSQL_DATABASE = wordpress -d mysql:5.7

2.pull&运行wordpress图像并链接到它的mysql容器:docker运行-e WORDPRESS_DB_PASSWORD =密码-d –name wordpress – 链接wordpressdb:mysql wordpress

我可以看到这两个容器正在运行: 在这里输入图像说明

我可以检查wordpress容器并尝试获取ip和端口: 在这里输入图像说明

另外,当我检查mysql容器时,我不能使用host / iplogin到mysql浏览器,

在这里输入图像说明

******** edit-add -p *****************

我用-p运行wordpress容器

在这里输入图像说明

在这里输入图像说明

**************再次编辑********************

在这里输入图像说明

********************更新**********************

在这里输入图像说明


在这里输入图像说明


在这里输入图像说明

***********最后我做了工作*******************

最后,我让它工作,如果我在-p命令中运行具有特定ip的容器例如127.0.0.1:

-p 127.0.0.1:8080:80 

它不会工作

如果我不指定IP,或使用0.0.0.0作为IP,它将工作:

 -p 0.0.0.0:8080:80 

在这里输入图像说明

我在docker inspect看到“ PortMapping:null ”。

如果您没有将任何端口映射到主机,您将无法访问所述端口。
以“ 查看我们的Web应用程序容器 ”为例。

该文档包括:

 docker run -e WORDPRESS_DB_PASSWORD=password -d --name wordpress --link wordpressdb:mysql -p 127.0.0.2:8080:80 -v "$PWD/":/var/www/html wordpress 

请注意-p 127.0.0.2:8080:80部分。
正如GHETTO.CHiLD 在评论中提到的 ,访问服务的URL将使用docker机$(docker machine ip):8080

如OP所述,使用广播映射更容易:

-p 8080:80 => $(docker-machine ip):8080 works