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
ネットワーク遅延のシミュレーション@CentOS 5

最近のLinux では、簡単にネットワーク遅延をシミュレーションできるようです。 …

no image
cygwinでWindowsのコマンド(ipconfig等)の文字化けを解消する

WindowsのコマンドをCygwin上で実行すると文字化けしてしまいます。これ …

no image
DLNAサーバ TVersity

PS3はDLNAクライアント機能があるため、ネットワーク上にある音楽や動画を再生 …

no image
ハイフンで始まるファイルを消す@Linux

ハイフンで始まる以下のようなファイル(-hoge)を作ったとします。 # ech …

no image
タスクトレイに音量のアイコンが表示されない@Windows 7 64bit

Windowsのタスクトレイに音量のアイコンが表示されない事象が頻繁に発生してい …

no image
sshダイナミックフォワーディング@cygwin

OpenSSHクライアントのsshコマンドでトンネリングをする方法として-Lオプ …

no image
Firefox検索フォームに検索履歴ボタンを追加する@Firefox 3.0

Firefox の検索欄は、検索履歴を覚えてくれ、↓を押すと履歴が出てきます。し …

no image
IPv6試してみました @ RHEL5

自分自身は表す(ipv4では127.0.0.1) 方法は、 ::1 だそうです。 …

no image
ログの転送@Cisco 2960

Ciscoのスイッチでログの転送(syslog)をする設定の覚え書き。syslo …

no image
TracのDBのスキーマとチケットレポート作成 @ Trac 0.10.3 on Debian Etch

Tracのチケット のレポートを作成するには、TracのDBのスキーマをある程度 …