Mazn.net

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

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

      2018/09/20

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
VMware 2.0 を専用クライアントで使う (msiからファイルの抽出)

VMware 2.0 は基本的にWebインタフェースしか使えないと思っていました …

no image
IEのproxy.pac@Windows 7

IE11 から、どうもローカルにあるProxy.pacが読み込まれてないように思 …

no image
CygwinでWindowsの拡張子に関連づけられたファイルを簡単に開く

Cygwin 使っていると、コマンドラインでいろいろと処理したくなりますよね? …

no image
firefox7のアドレスバーにhttps://を表示させる

firefox7からアドレスバーのURLにhttps://が表示されなくなりまし …

no image
ハードディスクへのアクセスが異常に遅い@Windows XP

Windowsの動作が異常に遅いPCがあって、調査していたらHDDへのアクセスが …

no image
プログラミング言語のベンチマーク

プログラミング言語のベンチマークサイトを発見 http://shootout.a …

no image
bashでの配列操作

あまりbashの配列操作を書くことがないから覚え書き。 定義方法は &#8220 …

no image
dnsmasqでDNSサーバを立ててWindowsから参照させる

Linuxサーバ上にdnsmasqで DNSサーバ立てて、自宅内のサーバの名前解 …

no image
Thinkpad USB Trackpoint キーボードでスクロール@Fedora 17

Fedora 17 上で、Thinkpad USB Trackpoint キーボ …

no image
Windows アップデートで使用するプロキシを設定@Windows Vista

Windows XPでは、proxycfgコマンドで、Windowsアップデート …