Điểm:0

Docker-compose, được cài đặt với Snap, báo lỗi trên tệp YML

lá cờ in

Tôi đã cài đặt docker với Snap Package Manager. Nó nói rằng nó có phiên bản mới nhất, nhưng docker-compose đưa ra lỗi về cú pháp có vẻ như đó không phải là phiên bản mới nhất.

Ví dụ docker-compose.yml

phiên bản: '3.9'

dịch vụ:

  tài liệu:
    hình ảnh: nginx: mới nhất
    container_name: tài liệu
    khối lượng:
      - ./site:/var/www/html
      - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./var/log/nginx:/var/log/nginx
    mạng:
      mạng của tôi:
        ipv4_address: 172.30.0.110

mạng:
  mạng của tôi:
    bên ngoài: đúng
    tên: mạng của tôi

Trên DigitalOcean

$ docker-compose --version
docker-compose phiên bản 1.27.4, bản dựng 40524192

Và lệnh cấu hình docker-compose có vẻ tốt.

Trên Ubuntu của tôi với Docker trong Snap

cops@emdev01:~/cops/documentation$ docker-compose --version
docker-compose phiên bản 1.25.5, bản dựng không xác định

Và lệnh docker-compose config cho kết quả như sau:

$ cấu hình docker-compose
LỖI: Phiên bản trong "./docker-compose.yml" không được hỗ trợ. 
Bạn có thể thấy lỗi này vì bạn đang sử dụng phiên bản tệp Soạn sai. 
Chỉ định phiên bản được hỗ trợ (ví dụ: "2.2" hoặc "3.3") và đặt định nghĩa dịch vụ của bạn 
bên dưới khóa `services` hoặc bỏ qua khóa `version` và đặt các định nghĩa dịch vụ của bạn tại 
root của tệp để sử dụng phiên bản 1.

Để biết thêm về các phiên bản định dạng tệp Soạn thư, hãy xem https://docs.docker.com/compose/compose-file/

docker-compose đã sử dụng:

$ which docker-compose
/snap/bin/docker-compose

Và thông tin hiển thị như sau:

$ sudo snap thông tin docker
tên: docker
tóm tắt: Thời gian chạy bộ chứa Docker
nhà xuất bản: Canonicalâ
url cửa hàng: https://snapcraft.io/docker
liên hệ: https://github.com/docker-snap/docker-snap/issues?q=
giấy phép: (Apache-2.0 VÀ MIT VÀ GPL-2.0)
mô tả: |

[SNIP]

dịch vụ:
  docker.dockerd: đơn giản, đã bật, đang hoạt động
snap-id: sLCsFAO8PKM5Z0fAKNszUOX0YASjQfeZ
theo dõi: mới nhất/ổn định
ngày làm mới: hôm nay lúc 09:46 UTC
kênh truyền hình:
  mới nhất/ổn định: 20.10.8 27-08-2021 (1125) 122MB -
  mới nhất/ứng viên: 20.10.8 29-09-2021 (1234) 121MB -
  mới nhất/beta: 20.10.9 2021-10-08 (1310) 122MB -
  mới nhất/cạnh: 20.10.9 2021-11-09 (1399) 122MB -
  17.03/ổn định: 17.03.2-ce-1 2017-07-20 (159) 42MB -
  17.03/ứng viên: 17.03.2-ce-1 2017-06-30 (159) 42MB -
  17.03/beta: â
  17.03/cạnh: 17.03.2-ce-1 30-06-2017 (159) 42MB -
đã cài đặt: 20.10.8 (1125) 122MB -
adminlinux@emdev01:~$

Vì vậy, ở trên có vẻ như tôi đang sử dụng Docker mới nhất được cài đặt với Snap.

Vậy thì tại sao tôi gặp lỗi trên tệp docker-compose?

muru avatar
lá cờ us
https://docs.docker.com/compose/compose-file/compose-file-v3/ cho biết phiên bản tệp Soạn thảo mới nhất (`3.9`) được triển khai bởi Docker Compose 1.27.0+. Snap có một phiên bản cũ hơn, như bạn có thể thấy. Docker Compose được phát hành độc lập với chính Docker.
BertC avatar
lá cờ in
À, cảm ơn. Và vì docker-compose không được cung cấp dưới dạng Gói Snap, tôi đoán tôi cần cài đặt nó theo cách lỗi thời.
BertC avatar
lá cờ in
Được rồi, cái này không hoạt động. /snap/bin/docker-compose vẫn ở đó và docker-compose được cài đặt trên /usr/local/bin không thể truy cập được bởi người dùng không phải là cá nhân.
Điểm:0
lá cờ in

Đã sửa lỗi bằng cách gỡ cài đặt phiên bản Snap của Docker và cài đặt Docker theo cách cũ với apt.

Lý do là Snap làm một số điều kỳ lạ. @muru nói với tôi rằng docker-compose không phải là một phần của Gói Snap. Nhưng có tệp /snap/bin/docker-compose. Phiên bản đó là phiên bản cũ và không có Gói Snap nào cho Docker-Compose, chứ đừng nói đến một trong những ngày gần đây hơn.

Do đó, tôi đã xóa Docker khỏi Snap và cài đặt lại Docker với Apt.

Bây giờ mọi thứ hoạt động như mong đợi.

muru avatar
lá cờ us
Tôi không nói docker-compose không phải là một phần của gói docker snap. Tôi đã nói docker-compose được phát hành độc lập với docker, vì vậy docker snap mới nhất không cần phải có docker-compose mới nhất.
BertC avatar
lá cờ in
A ha, được rồi, xin lỗi. Hiểu lầm rồi đó. Ít nhất bây giờ tôi đã làm việc mà không cần Snap

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.