我对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
docker-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
关于可能是什么问题的任何想法?为什么不使用当前源代码?它正在使用某种缓存。