2017-10-28 117 views
0

是否可以拖拽並啓動在docker-compose.yml中定義的所有容器?我試圖執行docker-compose up -d my/image,其中my/image是DockerHub上的回購,但它說「無法找到docker-compose.yml」。我也試着先拉使用docker pull my/image具有相同的結果如何爲Docker Hub的圖片「docker-compose up」

UPD圖像:圖像https://hub.docker.com/r/gplcart/core/,源 - https://github.com/gplcart/docker-core

解決:好像泊塢窗,撰寫不起作用這種方式,我想。我需要手動創建一個目錄,將docker-compose.yml放在那裏,然後運行docker-compose up

https://docs.docker.com/compose/wordpress/#define-the-project

我預計運行docker-compose up -d repo/image足夠的下載和運行的所有定義的容器

+2

你有一個'泊塢窗 - compose.yaml'(或'.yml')文件?沒有一個「docker-compose」將無法工作。 – larsks

+0

當然,我可以爲本地圖像運行「docker-compose up」 – ymakux

+0

請發佈您的docker-compose.yml文件 –

回答

0

嘗試登錄到泊塢樞紐,使泊塢撰寫知道你想從那裏拉的圖像。

在命令行...

docker login

將提示您輸入用戶名和密碼。一旦通過身份驗證,撰寫應該在運行docker-compose up時從Docker Hub提取圖片。

此外,您需要從docker-compose.yml文件所在的同一目錄運行docker-compose up。看看Github上的docker-compose.yml文件,看起來你缺少幾行。您需要指定版本,並且gplcart,dbphpmyadmin應該在services之下。

version: '3' 
services: 
    gplcart: 
    build: . 
    links: 
     - db 
    ports: 
     - 8080:80 
    db: 
    image: mariadb:10.2 
    environment: 
     MYSQL_DATABASE: test 
     MYSQL_ROOT_PASSWORD: test 
    ports: 
     - 3306:3306 
    phpmyadmin: 
    image: phpmyadmin/phpmyadmin:4.7 
    links: 
     - db 
    ports: 
     - 8181:80 
+0

我猜想「docker login」是推送的。無論如何,它沒有工作 – ymakux

+0

看起來你也缺少'docker-compose.yml'文件中的行。更新了我的答案。 「 – grizzthedj

+0

」另外,您需要從docker-compose.yml文件所在的同一目錄運行docker-compose「是的,但是如何獲取目錄如果我拉取遠程圖像?對於本地圖像來說很容易。 「docker-compose up remote/image」的全部內容是自動解決所有問題。我錯了嗎? – ymakux

0

要拉的圖像使用docker-compose pull <service_name>,其中service_name是你docker-compose.yml文件

docker pull my/image失敗列出的服務之一,但比你指出應該失敗,不同的錯誤(你貼一個撰寫錯誤)

在您的示例中,my/name不是有效的服務名稱,因爲您無法在服務名稱中使用/。撰寫會給你一個不同的錯誤。

目前還不清楚my/name代表什麼(假設你用本地代替它)。

如果您發佈您的docker-compose.yml它將有助於確定正確的dockerdocker-compose命令應該是什麼。

0

錯誤Can't find docker-compose.yml表示您目前不在docker-compose.yml文件的目錄中,或者您已將該文件命名爲不同的文件。如果您爲文件指定了不同的內容(包括不同的大小寫或擴展名),則可以重命名該文件,也可以運行docker-compose -f your_filename.yml up以傳遞docker-compose的其他文件進行解析。如果您不在目錄中,請確保在運行docker-compose命令之前先進入該目錄。

0

docker-compose根據您當地的docker-compose.yml文件採取行動。如果不是執行單獨的docker命令(爲了拉取圖像或部署應用等)而使用docker-compose來提取第三方映像通常很有用,您希望以更結構化的方式定義您的架構,例如:

docker-compose.yml文件:

version: '3' 

services: 

    containerA: 
     image: gplcart/core 

    containerB: 
     build: . 
     # go on defining the rest ... 

,並與部署:

docker-compose build && docker-compose up -d

相關問題