Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

graboidでDockerイメージをダウンロード

      2019/02/05

Dockerを実行しているサーバがインターネットに接続されていないオフライン環境だと、docker pull ができず困ってしまう場合があります。そのような時、インターネットに繋がっている他の端末でイメージをダウンロードして、それをtarファイルにしてscpやらUSBメモリやら経由でコピーすればいいのですが、DockerイメージダウンロードするためだけにDockerをインストールするのが大袈裟なことがあります。

そのような場合、graboid コマンドを使うと簡単にイメージをDockerなしで手動ダウンロードすることができます。graboid は、GO言語で書かれたコマンドラインツールで、Linuxだけでなく、MacやWindowsにも対応しています。インストール方法は簡単で、GitHub のリリースページにバイナリが公開されているため、これをダウンロードし展開するだけです。

ここではWindowsを例に、試してみたいと思います。

ブラウザから、https://github.com/blacktop/graboid/releases/download/0.14.0/graboid_0.14.0_win_amd64.zip をダウンロードし、ダウンロードしたzipを展開すると、graboid.exe というファイルがでてきます。あとは、コマンドプロンプトを起動し、graboid.exe にDockerHubのイメージを引数で渡すだけです。ここでは、c:\tmp にgraboid.exe があると仮定し、busybox のDockerイメージをダウンロードしてみます。
※ プロキシ使用時は、HTTPS_PROXY 環境変数を定義しておけば良いみたい。

C:\>cd c:\tmp
c:\tmp>graboid.exe busybox:latest
 • Initialize Registry domain=https://index.docker.io image=library/busybox tag=latest
 • getting auth token
 • GET CONFIG
 • GET LAYERS
716.06 KiB / 716.06 KiB [====================================================] 100.00% 0s
 • CREATE manifest.json
 • CREATE docker image tarball: library_busybox.tar
 • SUCCESS!

Windowsのコマンドプロンプトだと、若干表示がおかしいですが、無事ダウンロードできようなので、ファイルを確認します。

c:\tmp>dir
ドライブ C のボリューム ラベルは Windows です


c:\tmp のディレクトリ

2018/09/18 11:02 <DIR> .
2018/09/18 11:02 <DIR> ..
1979/12/31 00:00 5,664,256 graboid.exe
2018/09/18 11:02 734,502 library_busybox.tar
2 個のファイル 6,398,758 バイト
2 個のディレクトリ 38,434,910,208 バイトの空き領域

上記の通り、library_busybox.tar ファイルが生成されました。あとは、これをDockerの動いているサーバにコピーし、インポートすれば作業完了です。

# docker load  < library_busybox.tar

ちなみに、LinuxやCygwinのプロンプトだと、ダウンロード時の表示はこのように綺麗に表示されました。

$ ./graboid.exe busybox:latest
• Initialize Registry domain=https://index.docker.io image=library/busybox tag=latest
• getting auth token
• GET CONFIG
• GET LAYERS
716.06 KiB / 716.06 KiB [====================================================] 100.00% 0s
• CREATE manifest.json
• CREATE docker image tarball: library_busybox.tar
• SUCCESS!

 - IT技術

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
サーバが落ちてsshが応答しない@CentOS 5

ssh でサーバにログインしていて、サーバが落ちた時に反応がなくなってイライラし …

no image
キーボードレイアウト、ロケール変更@Ubuntu 14.04 server on VMware Player

VMwareの簡易インストールはOSのインストールが簡単で便利ですが、日本時間に …

no image
vimでpythonの補完を行う

pythonを少し書いてみようと思い立ち、とりあえずvimでpythonのキーワ …

no image
CDやDVDの中身が見れない@Windows Vista

最近悪名高いWindows Vistaを使っているのですが、一通り設定や必要そう …

no image
CPU を Ivy Bridge に変更したら early exception 0d rip error が出た@Fedora 15

CPUを古いAMDのAthlonから、IntelのIvy Bridge (i5) …

no image
ネットワークの遅延を発生させる@CentOS 5

検証などでネットワーク遅延を発生させたい場合、qdisc を使って簡単に実現でき …

no image
WordPressのPukiwikiプラグイン導入

以前pukiwikiを使っていたので便利かなと思い入れてみた。例えば <p …

no image
gitで過去のコミットを書き換える方法まとめ

コミットしてしまった後に恥ずかしい間違いに気づいて書き換えたい時の対処方法。 ま …

Ubuntu 14.04 LTS DesktopのWindowsキーのショートカットを無効にする

Ubuntu 14.04 使っていて、Windowsキー+1 や Windows …

no image
キーコードの表示@Debian etch

以下のコマンドでキーコードの対応表を取得できます。 # xmodmap -pke …