![](/img/trans.png)
[英]Docker image working with docker run but not with docker-compose up
[英]Docker: Uses an image, skipping (docker-compose)
我目前正在使用mongodb
https://medium.com/@sunnykay/docker-development-workflow-node-express-mongo-4bb3b1f7eb1e為node express
試用本教程
第一部分工作正常,在哪里構建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
並且沒有任何反應。
我嘗試谷歌搜索錯誤,但我找不到太多。
有人可以幫我嗎?
提前致謝
我發現了,我傻了。
我不需要運行docker-compose build
我可以直接運行docker-compose up
從那時起它會將圖像拉下來, build
只是在本地構建
在我的情況下,以下命令有效:
docker-compose up --force-recreate
我希望這有幫助!
說明:此消息( <service> uses an image, skipping
)不是錯誤。 它通知用戶該服務使用Image ,因此它是pre-built ,因此它被 build 命令跳過。
換句話說 - 您不需要 build ,您需要up
服務。
解決方案:
運行sudo docker-compose up <your-service>
PS :如果您更改了 docker-compose 上的某些配置,請使用--force-recreate
標志來應用更改並再次創建它。
sudo docker-compose up --force-recreate <your-service>
我的問題是我想升級image
所以我嘗試使用:
docker build --no-cache
docker-compose up --force-recreate
docker-compose up --build
其中沒有一個重建圖像。
缺少的(來自這篇文章)是:
docker-compose stop
docker-compose rm -f # remove old images
docker-compose pull # download new images
docker-compose up -d
不確定它是解決方法還是修復方法,但這是我的經驗。 我遇到了同樣的問題,后來發現創建了一個虛擬容器,其中圖像名稱前置在容器名稱中,因為我面臨着這個問題。 檢查一下
docker ps -a
我刪除了那個容器並重新構建它運行的圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.