无法使用Docker Stack和Official Wordpress Docker镜像访问正在运行的服务

时间:2017-08-19 05:30:56

标签: wordpress docker docker-compose docker-swarm

我正在尝试使用official Wordpress Docker image部署带有撰写文件的堆栈。

我已将我的撰写文件(stack.yml)删除到此:

version: '3.1'

services:

  wordpress:
    image: wordpress
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_PASSWORD_FILE: /run/secrets/db_password
    secrets:
      - db_password

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_password
    secrets:
      - db_password

secrets:
  db_password:
    file: db_password.txt

除了秘密之外,这几乎与文档中给出的完全相同。

然后我运行$ docker stack deploy -c stack.yml wordpress

运行$ docker stack services wordpress确认两个服务都已复制并正在运行。

NAME                  MODE                REPLICAS
wordpress_wordpress   replicated          1/1
wordpress_mysql       replicated          1/1

但是,当我尝试从Chrome中的http://localhost:8080进行访问时,收到以下消息:

localhost didn’t send any data.
ERR_EMPTY_RESPONSE

图像文档还提到了从http://swarm-ip:8080进行访问。

我尝试运行docker node inspect self --format '{{ .Status.Addr }}'并返回了IP 192.168.65.2,但访问Chrome中的192.168.65.2:8080会返回ERR_CONNECTION_TIMED_OUT

我在Mac Sierra 10.12.6上运行Docker 17.06.0-ce-mac19。

这只是我的特定机器上的配置错误吗?或者我错过了一些非常明显的东西?

1 个答案:

答案 0 :(得分:0)

请检查db_password.txt的内容。我使用docker stack在环境变量而不是秘密上检查了我的系统上面的内容,这一切都适用于我