WebHU - Programozási kérdések és válaszok

Szereljen fel egy kötetet a docker-compose alkalmazásba. Hogyan történik?

Ha ezt a cmd-t konzolon futtatom:

 docker run -it --rm --link rabbit --link elasticsearch -v "$PWD"/logstash:/config-dir logstash logstash -f /config-dir/logstash.conf

Jól fut. A ./logstash mappában van egy logstash.conf. De most megpróbálok berakni egy docker-compose-t, de ugyanez nem működik:

  logstash:
  image: logstash:latest
  links:
    - "elasticsearch:elasticsearch"
    - "rabbit:rabbit"
  volumes:
      - $PWD/logstash:/config_dir
  command:
    - "-f /config_dir/logstash.conf"

De nem látom a különbséget a két parancs között. Segítség? Hogyan történik a kötetbe szerelés? Vagy a parancs nem működik? A logstash init válasza:

logstash_1        | {:timestamp=>"2016-07-06T15:43:06.663000+0000", :message=>"No config files found: / /config_dir/logstash.conf\nCan you make sure this path is a logstash config file?", :level=>:error}
rabbitmq_logstash_1 exited with code 1

Szerkesztés: Végül úgy oldottam meg a problémát, hogy eltávolítottam a parancsot, és az eredeti kép alapértelmezett parancsát használtam, de még mindig nem értem a problémát és azt, hogy ugyanaz a parancs hogyan kerül átadásra a dockernek, és hogyan működik, de ha átmegy docker-compose ne. Előre is köszönöm


Válaszok:


1

A konfiguráció valószínűleg nem működik, mert a docker-compose verziója nem hajt végre shell-bővítéseket a tároló létrehozásakor. Ez azt jelenti, hogy a Docker Compose egy szó szerinti elérési utat $PWD/logstash próbál keresni, ahelyett, hogy kibontaná $PWD a jelenlegi könyvtárba. A docker Compose későbbi verziói lehetővé teszik a környezeti változók bővítését.

A Docker-compose megengedi a relatív elérési utat, a használat révén ./-ból, amely arra a mappára hivatkozik, amelyben a levélírási fájl található, nem feltétlenül a pwd-re, tehát csak módosítania kell a levélírási fájlt a következőre:

volumes:
    - ./logstash:/config_dir
06.07.2016
  • Dehogyis :( Ugyanaz a hiba. Gyanítom a parancsot, mert a hibaüzenet másik perjelet tesz Nem találhatók konfigurációs fájlok: / /config_dir/logstash.conf. Mire való ez az első perjel? 06.07.2016
  • ./dir így hivatkozik egy könyvtárra a pwd ha így tesz, .dir akkor egy könyvtár nevet keresne .dir 06.07.2016
  • buta kérdés, de a logstash mappa ugyanabban a könyvtárban van, mint a docker compose fájlja? 06.07.2016
  • Használhat egy abszolút elérési utat is, ha ez működik, akkor tudja, hogy a probléma az Ön relatív útvonala 06.07.2016
  • Frissítés – A környezeti változók bővítése valójában támogatott a Docker Compose fájlok 2-es és 3-as verziójában. Ennek ellenére továbbra is a relatív elérési út szintaxisa a legelőnyösebb módja a kötetek helyének meghatározásának, mivel ezek a kompozíciós fájl helyéhez viszonyítva vannak, nem pedig a felhasználó aktuális működéséhez. Könyvtár. 19.04.2017
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..