2017-09-04 65 views
5

下面的命令失敗,試圖從泊塢樞紐拉圖像:泊塢窗撰寫簡化版,允許使用本地圖片

$ docker-compose up -d 
Pulling web-server (web-server:staging)... 
ERROR: repository web-server not found: does not exist or no pull access 

但我只是想使用的圖像,它存在的本地版本:

$ docker images 
REPOSITORY   TAG     IMAGE ID   CREATED    SIZE 
web-server   staging    b94573990687  7 hours ago   365MB 

爲什麼Docker不在本地存儲的圖像中搜索?


這是我的碼頭工人撰寫文件:

version: '3' 
services: 
    chat-server: 
    image: chat-server:staging 
    ports: 
     - "8110:8110" 
    web-server: 
    image: web-server:staging 
    ports: 
     - "80:80" 
     - "443:443" 
     - "8009:8009" 
     - "8443:8443" 

和我.ENV文件:

DOCKER_HOST=tcp://***.***.**.**:2376 
DOCKER_TLS_VERIFY=true 
DOCKER_CERT_PATH=/Users/Victor/Documents/Development/projects/.../target/docker 
+3

您能否驗證'web-server'鏡像是在本地構建的嗎?請包括'docker-compose.yml'文件 –

+0

也許這些工作之一:重新啓動docker服務;用Docker構建再次構建Web服務器映像;然後,嘗試碼頭合成運行。 –

+0

@DenisTsoi我已經添加了我的docker-compose文件。我該如何驗證,該圖像是在本地構建的?我提供了'docker images'命令的輸出,它列出了我的圖像。我想,它驗證,圖像實際上是在這裏構建的。 –

回答

0

在您的碼頭工人,compose.yml,您可以指定build: .而不是build: <username>/repo>爲本地建設(而不是從碼頭樞紐拉) - 我無法驗證這一點,但我相信你可能能夠做相對輕拍hs爲docker-compose文件提供多項服務。

services: 
    app: 
    build: . 

參考:https://github.com/gvilarino/docker-workshop

+2

我知道可以在本地構建圖像,但我認爲這不是一個好主意。在我看來,最好分離這裏提到的構建和運行步驟:https://12factor.net/build-release-run –

+0

這是一個好點,我同意 - 這不應該在任何正常情況下使用,但是,我相信這是一個快速的步驟,而不是在本地建設,然後推到碼頭集線器(特別是如果你想檢查服務是否相互通信) –

5

一般情況下,當你形容這應該工作。試圖模仿它,但它只是工作...

文件夾結構:Dockerfile的

. 
├── docker-compose.yml 
└── Dockerfile 

內容:

FROM alpine 
CMD ["echo", "i am groot"] 

構建和標籤圖像:

docker build -t groot . 
docker tag groot:latest groot:staging 

與docker-compose.yml:

version: '3.1' 
services: 
    groot: 
    image: groot:staging 

,並開始塢窗 - 撰寫:

$ docker-compose up 
Creating groot_groot ... 
Creating groot_groot_1 ... done 
Attaching to groot_groot_1 
groot_1 | i am groot 
groot_groot_1 exited with code 0 
0

您可能需要改變你的形象標籤有兩個部分用斜線分開/。因此,而不是

chat-server:staging 

做這樣的事情:

victor-dombrovsky/chat-server:staging 

我覺得有泊塢窗標籤和「一個部分」標籤背後的一些邏輯的解釋爲DockerHub來的官方圖片。