Tôi có thể chạy Snappy Ubuntu Core với tư cách là khách trong Docker không?


10

Tôi biết rằng Snappy Ubuntu có thể lưu trữ các container Docker. Câu hỏi của tôi là liệu nó cũng có thể được chạy trong một container, với tư cách là khách của Docker.

Lý do tôi hỏi là tôi không thể tìm thấy bất kỳ bộ chứa khách Snappy VM nào trong kho Docker công khai.

Câu trả lời:


10

Có, bạn có thể: Snappy chỉ là phiên bản rút gọn của Ubuntu và Ubuntu hoạt động bên trong Docker. Việc Snappy không xuất hiện bên trong kho Docker công cộng ngụ ý rằng bạn phải thực hiện mọi thứ một cách thủ công.

  1. Đầu tiên, lấy hình ảnh mới nhất:

    wget http://cdimage.ubuntu.com/ubuntu-core/preview/ubuntu-core-alpha-02_amd64-virt.img
    

    Tệp này là hình ảnh QCOW2 dành cho QEMU / KVM, nhưng chúng tôi cũng có thể trích xuất nội dung của nó cho Docker.

  2. Để truy cập các tệp bên trong hình ảnh QCOW2, bạn sẽ cần qemu-nbd, vì vậy hãy cài đặt nó và chạy:

    qemu-nbd -c /dev/nbd0 ubuntu-core-alpha-02_amd64-virt.img
    

    Lệnh này sẽ tạo ra một "đĩa ảo" có tên /dev/ndb0, với "phân vùng ảo" được đặt tên /dev/ndb0pX. Sử dụng fdisk -l /dev/nbd0để có ý tưởng về các phân vùng bên trong hình ảnh QCOW2.

  3. Phân vùng bạn quan tâm là /dev/ndb0p3, vì vậy hãy gắn kết nó:

    mount /dev/ndb0p3 /somewhere
    
  4. Bạn sắp hoàn thành! Chỉ cần làm theo hướng dẫn của Docker về hình ảnh cơ sở tùy chỉnh :

    tar -C /somewhere -c . | docker import - snappy
    

Bây giờ bạn đã sẵn sàng để tạo hình ảnh Snappy của bạn trên đầu của hình ảnh cơ sở đó. Ví dụ: tôi đã tạo một hình ảnh snappy_test với ứng dụng xkcd-webserver được cài đặt. Đây là cái Dockerfiletôi đã sử dụng:

FROM snappy:latest
RUN snappy install xkcd-webserver
EXPOSE 80

2
Không có hình ảnh Docker công khai cho Snappy sao?
Robin Winslow

Bạn có thể vui lòng xem lại câu trả lời của bạn? Có vẻ như giải pháp của bạn không còn hoạt động nữa với hình ảnh lõi
ub

1
@ Karl2011 Tôi sẽ cố gắng xem xét nó ngay khi tôi có thời gian rảnh :)
Andrea Corbellini
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.