node.js - Docker 容器正在运行但未列出且无法停止
问题描述
我对 docker 比较陌生,我遇到了一个非常奇怪的问题。
我在下面的 docker 设置运行完美,但是即使在停止和删除所有容器并退出 docker 应用程序之后,似乎也有一个实例始终在运行。
当我在浏览器中访问 localhost 时,我的应用程序始终处于活动状态并正在运行。
我试过运行 docker-compose stop ;docker-compose rm 停止并删除所有容器。
'docker-compose ps' 和 'docker ps' 都显示没有容器在运行。但是每当我访问 localhost 时,我的应用程序就会在那里运行并运行。
就像我说的我已经尝试退出 docker 应用程序(我在 mac 上运行)。我尝试重新启动机器,该应用程序仍将运行。
奇怪的是,当我通过运行“sudo lsof -i tcp:80”检查是否有任何进程正在使用端口 80(从而使我的应用程序可以通过 localhost 访问)时,列表为空。
我是 docker 新手,我知道一定有一些我忽略的东西。在此先感谢,欢迎任何帮助和想法。
这是我的文件夹结构:screenshot
我的应用程序的 Dockerfile:
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000
ENV NUXT_HOST=0.0.0.0
ENV NUXT_PORT=3000
CMD [ "npm", "start" ]
码头工人-compose.yml
version: '3'
services:
nuxt:
build: ./app/
container_name: nuxt
restart: always
ports:
- '1880:1880'
command: 'npm run start'
nginx:
image: nginx:1.13
container_name: nginx
ports:
- '80:80'
volumes:
- ./nginx:/etc/nginx/conf.d
depends_on:
- nuxt
解决方案
推荐阅读
- c# - 获取二维数组上的二维正态分布系数的最佳方法是什么,平均值在中间,最小在角落?
- r - 在 r markdown 中生成的图太大并且被截断
- javascript - 使用传单如何删除由外部插件添加的旧地图图块?
- java - SSLHandshakeException:收到致命警报:record_overflow
- go - 在golang反射FieldByName中忽略大小写
- laravel - 如何在 centos7 中使用 routas de laravel 解决此问题
- javascript - 在布尔 TypeScript/JavaScript 方法中返回 true/false 的正确方法?
- ios - 无法设置我的导航栏标题的字体大小
- android - Android Scroll View 中的时间滚动禁用
- python - 在数据框中切片字符串