问答详情
源自:6-3 compose实战

ghost自己是不是就能够启动了

没搞明白啊,nginx 没起来我访问 localhost:2368 也能访问ghost,此外,mysql里没有任何数据,这是什么情况?

提问者:tlojy 2017-10-19 15:12

个回答

  • 南山_风尘
    2018-11-09 10:37:24

    运行报错了,不知道是哪里的问题
    https://img3.mukewang.com/5be4f2230001bb6609070172.jpghttps://img.mukewang.com/5be4f23b0001140509110098.jpghttps://img2.mukewang.com/5be4f2510001334408880050.jpg

  • qq_若风追梦_0
    2018-06-21 23:36:43

    https://img1.mukewang.com/5b2bc5db000166e910030102.jpg照你的方法老是启动失败不知道是怎么回事。

  • airmusic
    2018-02-11 17:00:43

    谢谢了,解决了问题

  • tlojy
    2017-10-19 16:28:59

    搞清楚了,nginx是个代理,最终还是会访问localhost:2368

    我用的docker-ce : Server Version: 17.09.0-ce

    ghost版本是1.41.1 ,配置文件变成 config.production.json。

    根据老师的教程做以下修改就能成功启动:

    • 修改ghost/Dockerfile,内容如下:

    FROM ghost
    COPY ./config.production.json /var/lib/ghost/config.production.json
    EXPOSE 2368

    ------------------------

    • 在ghost/目录下创建 config.production.json 文件,内容如下:

    {
      "url": "http://localhost:2368/",
      "server": {
        "port": 2368,
        "host": "0.0.0.0"
      },
      "database": {
        "client": "mysql",
        "connection": {
    "host": "db",
    "user": "ghost",
    "password": "ghost",
    "database": "ghost",
    "port": 3306,
    "charset": "utf8"
        }
      },
      "mail": {
        "transport": "Direct"
      },
      "logging": {
        "transports": [
          "file",
          "stdout"
        ]
      },
      "process": "systemd",
      "paths": {
        "contentPath": "/var/lib/ghost/content"
      }
    }
    • 登录mysql,给ghost用户添加权限。执行如下命令:

    mysql  -uroot -pmysqlroot            #以root身份登录mysql
    GRANT ALL PRIVILEGES ON *.* TO 'ghost'@'%';    #给ghost用户设置足够权限
    • 重新build 并运行:

    docker-compost stop     #停止容器   
    docker-compose rm            #删除容器
    docker-compose build         #重新建立
    docker-compose up -d        #启动运行