node.js - Docker 不会通过更改源代码来构建容器
问题描述
我对 Docker 比较陌生,我刚刚创建了一个 Node.js 应用程序,它应该与也在 Docker 上运行的其他服务连接。
所以我得到了源代码和一个 Dockerfile 来设置这个图像和一个 docker-compose 来编排环境。
一开始我遇到了一些问题,所以我刚刚更新了我的源代码,发现它没有在 docker-compose 的下一个版本中得到更新。
例如,我注释了所有连接到 Redis 和 MongoDB 的行。我在本地运行应用程序,这很好。但是当我在容器中再次创建它时,我收到错误“连接被拒绝...”
我尝试了很多东西,这就是我现在得到的:
Dockerfile
FROM node:9
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
CMD node app.js
EXPOSE 8090
码头工人-compose.yml
version: '3'
services:
app:
build: .
ports:
- "8090:8090"
container_name: app
redis:
image: redis:latest
ports:
- "6379:6379"
container_name: redis
mongodb:
image: mongo:latest
container_name: "mongodb"
volumes:
- ./data/db:/data/db
ports:
- 27017:27017
up.sh
sudo docker stop app
sudo docker rm app
docker-compose build --no-cache app
sudo docker-compose up --force-recreate
关于可能是什么问题的任何想法?为什么不使用当前的源代码?它正在使用某种缓存。
解决方案
推荐阅读
- javascript - 尝试在子进程 (Javascript) 中导入模块并失败
- java - 我该如何处理 CannotAcquireLockException
- python - Alembic 迁移 - 两个部署之间的脚本持久性
- amazon-web-services - 如何设置警报以在自动缩放后不触发操作
- spring - 弹簧安全 XML。http标签继承
- c# - C#:如何使用在运行时安装的证书调用需要客户端身份验证的 SOAP 服务
- apache-spark - Spark 在读取 HDFS 文件时如何在内部工作
- python-3.6 - 在 Anaconda Spyder 中使用 Python 3.6 中的大型机数据集
- java - Thymeleaf Spring MVC 的 UTF-8 编码问题
- excel - 在 Access 中使用 VBA 更改 Excel 单元格文本颜色