Docker OSX - 无法访问端口 8080 上的容器

Docker OSX - Unable to access container on port 8080

我在 OSX El Capitan 上使用 docker-machinedocker。我正在尝试 运行 Wordpress docker 图片:https://hub.docker.com/_/wordpress/

我的 docker-compose.yml 文件如下所示:

wordpress:
  image: wordpress
  links:
    - db:mysql
  ports:
    - 8080:80

db:
  image: mariadb
  environment:
    MYSQL_ROOT_PASSWORD: secretpassword

然后我启动它:docker-compose run wordpress。一切正常,容器可见 运行 docker ps:

c7ade4a3944b        wordpress           "/entrypoint.sh apach"   2 minutes ago       Up 2 minutes        80/tcp              awesomebingo_wordpress_run_8
30bc8d7aaad6        mariadb             "/docker-entrypoint.s"   51 minutes ago      Up 2 minutes        3306/tcp            awesomebingo_db_1

我使用以下方法获取 VM 的 IP 地址:

docker-machine ip default

哪个returns:

192.168.99.100

如果我尝试从浏览器访问 http://192.168.99.100:8080,我会收到错误消息:无法连接,在 Firefox 中。

我无法在普通终端中 ping VM IP 地址,但如果我在 Docker 快速启动终端中,我可以 pingnmap VM 的 IP地址。尽管 nmap 仍然显示端口 8080 已关闭。

知道这里发生了什么吗?

试试这个

ports:
    - "8080:80"

在正确的变体中 docker ps 应该在端口列中显示下一个:

 0.0.0.0:8080->80/tcp 

原来我用的是:

docker-compose run wordpress

我需要使用:

docker-compose up

Launch your image like :

docker run -p 8080:8080 -t wordpress