Winston 日志在 Docker 容器中不起作用
Winston logs does not work in the Docker Container
我正在使用打字稿创建一个 nodejs/express 应用程序。我已经安装了 winston 包。使用 npm install winston
。
我正在关注这个 article。我想docker处理这个。
到目前为止我做了什么:
- 我已经在 logger.ts 中导入了 winston 包。
- 将 logger.js 文件导入到 server.ts 文件。
Winston 记录器在我 运行 npm run dev
命令时工作。我在控制台中看到了 winston 日志。
当我在 docker 容器中实现相同时。
我使用 docker build -t docker-image .
命令然后 docker-compose up
。
我的 Dockerfile:
FROM node:10
WORKDIR /app
COPY package*.json ./
RUN npm install
# Bundle app source
COPY . /app
EXPOSE 5000
CMD [ "node", "dist/server.js" ]
docker-compose.yml 文件:
version: '3'
services:
app:
container_name: hoptik-pims-node
restart: always
build: .
ports:
- '5000:5000'
links:
- mongo
mongo:
container_name: mongo
image: mongo
ports:
- '2717:27017'
我尝试访问页面 http://localhost:5000/logger。我得到无法获取/记录器。
我不明白我做错了什么。最近几天我一直在尝试解决这个问题。谁能帮我解决这个问题。
提前致谢。
看来你做错了,为了查看日志你不应该去 localhost:5000/logger,相反你应该使用以下命令查看 docker 日志
docker logs <your-container-id> -f
例子看起来像
docker logs 2921e28c845f -f
或
docker logs 2921e28c845f5ba9c97c371b81e1d68db28650e576ea18b78592713362baa140 -f
这应该会显示正确的日志。
我正在使用打字稿创建一个 nodejs/express 应用程序。我已经安装了 winston 包。使用 npm install winston
。
我正在关注这个 article。我想docker处理这个。
到目前为止我做了什么:
- 我已经在 logger.ts 中导入了 winston 包。
- 将 logger.js 文件导入到 server.ts 文件。
Winston 记录器在我 运行 npm run dev
命令时工作。我在控制台中看到了 winston 日志。
当我在 docker 容器中实现相同时。
我使用 docker build -t docker-image .
命令然后 docker-compose up
。
我的 Dockerfile:
FROM node:10
WORKDIR /app
COPY package*.json ./
RUN npm install
# Bundle app source
COPY . /app
EXPOSE 5000
CMD [ "node", "dist/server.js" ]
docker-compose.yml 文件:
version: '3'
services:
app:
container_name: hoptik-pims-node
restart: always
build: .
ports:
- '5000:5000'
links:
- mongo
mongo:
container_name: mongo
image: mongo
ports:
- '2717:27017'
我尝试访问页面 http://localhost:5000/logger。我得到无法获取/记录器。
提前致谢。
看来你做错了,为了查看日志你不应该去 localhost:5000/logger,相反你应该使用以下命令查看 docker 日志
docker logs <your-container-id> -f
例子看起来像
docker logs 2921e28c845f -f
或
docker logs 2921e28c845f5ba9c97c371b81e1d68db28650e576ea18b78592713362baa140 -f
这应该会显示正确的日志。