2017-06-09 26 views
0

我需要在PowerShell中手動執行Visual Studio 2017在從我的解決方案(asp.net核心Web應用程序)創建Docker圖像時自動執行的操作。Docker-compose up創建容器,但無法啓動它

docker-compose -f "docker-compose.yml" -f "docker-compose.override.yml" -f "docker- 
compose.vs.release.yml" -p dockercompose32 up --build -d 

它創造了新的圖像(當我從從頭開始建立,但如果事情在項目發生變化,也不會重建舊圖像)和docker ps顯示:

CONTAINER ID  COMMAND    CREATED    STATUS    PORTS     NAMES 
3b9b2996cf61 "tail -f /dev/null" 20 minutes ago  Up 20 minutes  0.0.0.0:32812->80/tcp dockercompose32_some_name 

但在http://localhost:32812/api/values/我得到一個錯誤GET http://localhost:32804/api/values/ net::ERR_CONNECTION_REFUSED,如果我從docker run -d -p 4000:80 image_name運行相同的圖像運行容器。 我錯過了什麼?

回答

0

要改變拉從您的圖片,我會跑這三個命令:

export COMPOSE_FILE="docker-compose.yml:docker-compose.override.yml:docker-compose.vs.release.yml" 
export COMPOSE_PROJECT_NAME=dockercompose32 
docker-compose pull 
docker-compose build 
docker-compose up -d 

如果構建沒有顯示任何變化,那麼生成命令可能無法看到發生了什麼變化。如果更改來自Docker上下文之外的某些內容,則可以使用docker-compose build --no-cache,這將強制重建整個圖像,即使它通常使用緩存。