症状
docker pull が終わらない。
繋ぐ先が cdn-registry-1.docker.io
(サンフラン?) なので、
混雑もあるだろうし、遠いからってのもあるだろうし。
対策1: ミラーを使う
参考
Docker pull fails with unexpected EOF in archive
手順
参考サイトの GavinYin さんが、親切にもミラー(と言っていいのか?)を公開してくれている。
/etc/hosts
に以下の行を追加
Shell
54.224.119.89 cdn-registry-1.docker.io
今のところ快適。ただしいつ使用不能になるかはわからない。
対策2: アメリカで pull する
参考
手順
アメリカのマシンで pull して、ファイルを日本に持ってきて…という方法。
参考サイトに補足すると、docker export
は docker ps
でリストできるコンテナのエクスポートであって、docker images
でリストできるイメージ群を固めるわけではない。なので、いろいろインストールした後ならともかく、起動直後のコンテナを export しても数ギガいくことはないと思われる。
Shell
# docker run -d -t --name="ubuntu-test" ubuntu /bin/sh
4a2dd52bf60a4174eeda314a2244361c7f76b76cb83fe5421ec165ea73a78651
# docker export ubuntu-test | gzip > dockerimg-exported.tar.gz
# ls -lh
total 77M
-rw-r--r-- 1 root root 77M May 12 17:34 dockerimg-exported.tar.gz
純粋に pull したのと同じ状態にしたいならば、save と load を使うのがよい。
Shell
# docker save ubuntu | gzip > dockerimg-saved.tar.gz
# ls -lh
total 376M
-rw-r--r-- 1 root root 376M May 12 17:33 dockerimg-saved.tar.gz
こちらはイメージの指定なので、コンテナを起動する必要もない。
別マシンにて:
Shell
# docker load < dockerimg-saved.tar.gz
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 13.10 5e019ab7bf6d 2 weeks ago 180 MB
ubuntu saucy 5e019ab7bf6d 2 weeks ago 180 MB
ubuntu precise 74fe38d11401 2 weeks ago 209.4 MB
ubuntu 12.04 74fe38d11401 2 weeks ago 209.4 MB
ubuntu 12.10 a7cf8ae4e998 2 weeks ago 171.2 MB
ubuntu quantal a7cf8ae4e998 2 weeks ago 171.2 MB
ubuntu 14.04 99ec81b80c55 2 weeks ago 266 MB
ubuntu latest 99ec81b80c55 2 weeks ago 266 MB
ubuntu trusty 99ec81b80c55 2 weeks ago 266 MB
ubuntu 13.04 316b678ddf48 2 weeks ago 169.4 MB
ubuntu raring 316b678ddf48 2 weeks ago 169.4 MB
ubuntu 10.04 3db9c44f4520 2 weeks ago 183 MB
ubuntu lucid 3db9c44f4520 2 weeks ago 183 MB