Puncte:0

Docker-compose, instalat cu Snap, dă eroare pe fișierul YML

drapel in

Am instalat docker cu Snap Package Manager. Spune că are cea mai recentă versiune, dar docker-compose dă o eroare despre sintaxă care pare că nu este cea mai recentă versiune.

Exemplu docker-compose.yml

versiunea: „3.9”

Servicii:

  documentație:
    imagine: nginx:latest
    container_name: docs
    volume:
      - ./site:/var/www/html
      - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./var/log/nginx:/var/log/nginx
    retele:
      my-net:
        adresa_ipv4: 172.30.0.110

retele:
  my-net:
    extern: adevărat
    nume: my-net

Pe DigitalOcean

$ docker-compose --version
docker-compose versiunea 1.27.4, versiunea 40524192

Și comanda docker-compose config arată bine.

Pe Ubuntu meu cu Docker în Snap

cops@emdev01:~/cops/documentation$ docker-compose --version
docker-compose versiunea 1.25.5, versiunea necunoscută

Și comanda docker-compose config oferă următoarea ieșire:

$ docker-compose config
EROARE: Versiunea din „./docker-compose.yml” nu este acceptată. 
Este posibil să vedeți această eroare deoarece utilizați o versiune greșită a fișierului Compose. 
Fie specificați o versiune acceptată (de exemplu, „2.2” sau „3.3”) și plasați definițiile serviciului dvs. 
sub cheia `services`, sau omite cheia `version` și plasează definițiile serviciilor tale la 
rădăcina fișierului pentru a utiliza versiunea 1.

Pentru mai multe despre versiunile formatului de fișier Compose, consultați https://docs.docker.com/compose/compose-file/

Docker-compose folosit:

$ care docker-compune
/snap/bin/docker-compose

Și informațiile arată următoarele:

$ sudo snap info docker
nume: docker
rezumat: durata de rulare a containerului Docker
editor: Canonicalâ
magazin-url: https://snapcraft.io/docker
contact: https://github.com/docker-snap/docker-snap/issues?q=
licență: (Apache-2.0 ȘI MIT ȘI GPL-2.0)
descriere: |

[CROITOR]

Servicii:
  docker.dockerd: simplu, activat, activ
snap-id: sLCsFAO8PKM5Z0fAKNszUOX0YASjQfeZ
urmărire: cel mai recent/stabil
data de reîmprospătare: astăzi la 09:46 UTC
canale:
  cel mai recent/stabil: 20.10.8 2021-08-27 (1125) 122MB -
  cel mai recent/candidat: 20.10.8 2021-09-29 (1234) 121MB -
  ultima/beta: 20.10.9 2021-10-08 (1310) 122MB -
  ultima/edge: 20.10.9 2021-11-09 (1399) 122MB -
  17.03/stabil: 17.03.2-ce-1 2017-07-20 (159) 42MB -
  17.03/candidat: 17.03.2-ce-1 2017-06-30 (159) 42MB -
  17.03/beta: â
  17.03/margine: 17.03.2-ce-1 2017-06-30 (159) 42MB -
instalat: 20.10.8 (1125) 122MB -
adminlinux@emdev01:~$

Deci, cele de mai sus arată ca și cum folosesc cel mai recent Docker care este instalat cu Snap.

Atunci de ce primesc eroarea în fișierul docker-compose?

muru avatar
drapel us
https://docs.docker.com/compose/compose-file/compose-file-v3/ spune că cea mai recentă versiune a fișierului Compose (`3.9`) este implementată de Docker Compose 1.27.0+. Snap-ul are o versiune mai veche, după cum puteți vedea. Docker Compose este lansat independent de Docker însuși.
BertC avatar
drapel in
Aha, mulțumesc. Și din moment ce docker-compose nu este oferit ca pachet Snap-Package, trebuie să îl instalez în modul de modă veche, cred.
BertC avatar
drapel in
Ok, asta nu funcționează. /snap/bin/docker-compose este încă acolo și docker-compose instalat pe /usr/local/bin nu este accesibil de către un utilizator non-priv.
Puncte:0
drapel in

S-a rezolvat dezinstalând versiunea Snap a Docker și instalând Docker în mod demodat cu apt.

Motivul este că Snap face niște lucruri ciudate. @muru mi-a spus că docker-compose nu face parte din pachetul Snap. Dar există un /snap/bin/docker-compose. Aceasta este o versiune veche și nu există niciun pachet Snap pentru Docker-Compose, cu atât mai puțin una dintre datele mai recente.

Prin urmare, am eliminat Docker din Snap și am instalat din nou Docker cu Apt.

Acum totul funcționează conform așteptărilor.

muru avatar
drapel us
Nu am spus că docker-compose nu face parte din pachetul docker snap. Am spus că docker-compose este lansat independent de docker, așa că cel mai recent docker snap nu trebuie să aibă cel mai recent docker-compose.
BertC avatar
drapel in
Aha, ok, scuze. Neînțeles atunci. Cel puțin, acum funcționează fără Snap

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.