Snappy Ubuntu CoreをDocker内のゲストとして実行できますか?


10

Snappy UbuntuがDockerコンテナーをホストできることを知っています。私の質問は、Dockerゲストとしてコンテナー内でも実行できるかどうかです。

私が尋ねている理由は、パブリックDockerリポジトリにSnappy VMゲストコンテナーが見つからないためです。

回答:


10

はい、できます。SnappyはUbuntuの一部を取り除いたバージョンであり、UbuntuはDocker内で動作します。SnappyがパブリックDockerリポジトリ内に表示されないという事実は、手動で行う必要があることを意味しています。

  1. まず、最新の画像を取得します。

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

    このファイルはQEMU / KVM用のQCOW2イメージですが、Dockerのコンテンツも抽出できます。

  2. QCOW2イメージ内のファイルにアクセスするには、が必要なqemu-nbdので、インストールして実行します。

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

    このコマンドは/dev/ndb0、「仮想パーティション」という名前の「仮想ディスク」を作成します/dev/ndb0pXfdisk -l /dev/nbd0QCOW2イメージ内のパーティションの概要を把握するために使用します。

  3. 対象のパーティションは/dev/ndb0p3なので、マウントします。

    mount /dev/ndb0p3 /somewhere
    
  4. あと少しで完了です。カスタムベースイメージに関するDockerのガイドに従ってください

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

これで、ベースイメージの上にSnappyイメージを作成する準備ができました。たとえば、xkcd-webserverアプリがインストールされたsnappy_testイメージを作成しました。これが私が使ったものです:Dockerfile

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

2
SnappyのパブリックDockerイメージはありませんか?
Robin Winslow

もう一度お答えください。あなたのソリューションは、現在のUbuntuのコアイメージでもう動作しないことのように思える:cdimage.ubuntu.com/ubuntu-core/16/stable/current/...
chrisber

1
@ Karl2011私は自由な時間があるとすぐにそれを調べようとします:)
Andrea Corbellini
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.