我目前正在使用node express
为mongodb
尝试此教程
https://medium.com/@sunnykay/docker-development-workflow-node-express-mongo-4bb3b1f7eb1e
第一部分可以很好地构建docker-compose.yml
它完全可以找到在本地构建它所以我试着标记它并推入我的dockerhub
学习并尝试更多。
这最初是yml
文件后面的教程
version: "2"
services:
web:
build: .
volumes:
- ./:/app
ports:
- "3000:3000"
当我使用docker-compose build
和docker-compose up
因此我尝试将其推送到我的dockerhub并将其标记为node-test
然后我将yml
文件更改为
version: "2"
services:
web:
image: "et4891/node-test"
volumes:
- ./:/app
ports:
- "3000:3000"
然后我删除了之前的所有图片以确保它也有效...但是当我运行docker-compose build
时,我看到此消息error: web uses an image, skipping
并且没有任何反应。
我尝试使用谷歌搜索错误,但我找不到任何东西。
有人可以帮我一把吗?
提前致谢
答案 0 :(得分:45)
我发现,我是傻瓜。
我不需要运行docker-compose build
我可以直接运行docker-compose up
,因为它会将图片拉下来,build
只是在本地构建
答案 1 :(得分:5)
说明:此消息(<service> uses an image, skipping
)
不是错误。它通知用户该服务使用了 Image ,因此该服务是预先构建的,因此被build命令跳过了。
换句话说-您不需要build,您需要up
服务。
解决方案:
运行sudo docker-compose up <your-service>
PS :如果您更改了docker-compose上的某些配置,请使用--force-recreate
标志应用更改并再次创建。
sudo docker-compose up --force-recreate <your-service>
答案 2 :(得分:2)
在我的情况下,以下命令有效:
docker-compose up --force-recreate
希望对您有帮助!
答案 3 :(得分:-1)
不确定是解决方法还是解决方法,但这是我的经验。 后来我遇到了同样的问题,发现我创建了一个虚拟容器,并在容器名称之前添加了图像名称,这是我所面临的问题。 用
进行了检查docker ps -a
我删除了该容器,然后重新构建了它能工作的图像。