DockerのPullが途中で止まる

次の仕事でDockerを使うようなので、予習として一通り操作を学んでいるのですが、Docker Desktopの最初のページに表示されるサンプルコマンド

docker run -d -p 80:80 docker/getting-started

でpullを実行しても、ダウンロードが途中で止まってしまう現象が頻発します。

たまに上手く行く時もあるのですが、大抵ダメです。

最初に言っておくと、この記事では根本的解決はしていないので、どなたか心当たりのあれがコメント頂けると嬉しいです。

環境

僕の環境は以下の通りです。

開発環境

MacOS:Catalina 10.15.7

docker desktop:4.15.0

docker engine:20.10.21

インターネットDownload Speed:大体70Mbps〜90Mbps(VDSLなので速くはない)

やってみたこと

ひとまずググってみると、以下の3つ解決したという情報が出てきます。

同時ダウンロード数(max-concurrent-downloads)を1にする

1にするとすんなりいく可能性が高くなった気もするが、ダメな時はむしろデフォルトの3よりダメな時もある。

下記の暫定的措置の場合、僕の環境では1より3にしておいた方が早くダウンロード出来ている。

ちなみにmax-concurrent-downloadsの設定方法は以下の通り
設定

 

セキュリティソフトが原因

とりあえず、一時的にOFFにしてみたけど解消せず。

 

Wi-Fiを入れ直す

ダウンロードが止まったら、Wi-Fiを一度切って入れ直すとダウンロードが再開するとのことでしたが、僕の環境では再開せず。

 

暫定的措置

dockerのpullはダウンロード済みのものは記憶します。ただ、そのまま再度pullしてもダウンロードを再開してくれないのですが、docker desktopを再起動すると再開してくれるので、

  1. pullする
  2. ダウンロードが止まる
  3. dockerを終了する
  4. dockerを起動する
  5. 1に戻る

をダウンロードを終えるまで繰り返すことで、一応取得することは可能です。

ここで3と4は一々手動でやるのも面倒なので、スクリプトファイルを作ってコマンドで実行します。
参考(引用元):【Mac】Docker Engine をターミナルから再起動する方法

#!/bin/bash
osascript -e 'quit app "Docker"'
open -a /Applications/Docker.app 

 

このやり方もスマートではないので、根本的解決したいけど何とかならんかなぁ。
MacのOSをアップグレードしたら解消したりするかな?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


ABOUTこの記事をかいた人

子どもが産まれたことをきっかけに働き方を見直し、フリーランスSEになった30代の父親。 埼玉県某市在住。 妻と娘(5歳)とペット(フェレット)で、日々悩みながらも楽しく過ごしています。