无法从Docker容器访问Adonis

时间:2020-08-12 08:43:39

标签: javascript docker adonis.js

我使用Docker包含我的Adonis应用程序。构建成功,但是当我访问该应用程序时,我得到了ERR_SOCKET_NOT_CONNECTEDERR_CONNECTION_RESET

我的docker compose包含adonis和数据库。以前,我为我的expressjs应用使用与此类似的设置,并且没有问题。

adonis .env仍然是标准的修改版本。

这是我的设置:

# docker-compose.yml

version: '3'
services:
  adonis:
    build: ./adonis
    volumes:
      - ./adonis/app:/usr/src/app
    networks:
      - backend
    links:
      - database
    ports:
      - "3333:3333"
  
  database:
    image: mysql:5.7
    ports:
      - 33060:3306
    networks:
      - backend
    environment:
      MYSQL_USER: "user"
      MYSQL_PASSWORD: "root"
      MYSQL_ROOT_PASSWORD: "root"

  networks:
    backend:
      driver: bridge
# adonis/Dockerfile

FROM node:12-alpine

RUN npm i -g @adonisjs/cli

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY ./app/. .

RUN npm install

EXPOSE 3333

CMD ["adonis", "serve", "--dev"]  

我没有发现我的设置有什么问题。

1 个答案:

答案 0 :(得分:2)

serve命令在项目根目录中.env文件内定义的端口上启动HTTP服务器。
如果以下解决方法无效,可以在帖子中共享该文件吗?

您应该有类似以下内容(请注意,HOST必须设置为0.0.0.0而不是localhost才能接受来自外部的连接):

HOST=0.0.0.0
PORT=3333
APP_URL=http://${HOST}:${PORT}