個人PC(Mac)でdocker pullが途中で止まる原因を突き止める
Macのスペックなど
- MacBook Pro (13-inch) Intel Chip
- macOS Catalina
- Docker for Mac 4.11.1(発生時点での最新)
状況
個人PC(Mac)でdocker pullが途中で止まる
$ docker pull golang:latest latest: Pulling from library/golang 1671565cc8df: Downloading [=============================================> ] 50.37MB/55.01MB 3e94d13e55e7: Downloading [====================================> ] 3.779MB/5.163MB fa9c7528c685: Downloading [========================================> ] 8.735MB/10.88MB 53ad072f9cd1: Waiting dacb042d4b55: Waiting 60d5069f41a6: Waiting bac5554425db: Waiting
golang:latest imageに限ったことではないようだ
$ docker pull redis Using default tag: latest latest: Pulling from library/redis 7a6db449b51b: Downloading [==============================================> ] 29.14MB/31.38MB 05b1f5f3b2c0: Download complete f0036f71a6fe: Downloading [============================================> ] 1.268MB/1.411MB cd7ddcecb993: Downloading [=================================> ] 6.454MB/9.559MB 8cfc9a467ed7: Waiting 2a9998409df9: Waiting
会社PCは自宅で普通にdocker pullできているので自宅のネットワークが原因ではないと思われる
その他試してみたこと
- Docker for Mac再起動
- Docker for Macの再インストール
- Docker for Macが最新バージョン(4.11.1)だったのでバージョンを下げてみた
- 3系まで下げたが状況は変わらず途中で止まる
- Mac再起動
- 感謝の正拳突き
- Dockerfileを作成して
FROM golang:latest
を記述してdocker build .
したらうまく行ったのでdocker pullのネットワークがなんかだめなのか?と疑ったがよくわからず- 最悪これでも回避できるかなと思ったけど流石に毎回こんな事するのは辛い…
コンソールアプリを使えばプロセスのログが見れるっぽい
Mac標準のコンソールアプリでPCのログが見れることがわかったのでdockerプロセスのログを調べてみることにした。 Linuxでいうsyslog的な情報も見れるようだった。
PCにインストールしていた某セキュリティソフトがなんかやってそう
一旦某セキュリティソフトを終了させて再度docker pullを試したところ成功したので原因はセキュリティソフトであることが確定。
$ docker pull golang:latest latest: Pulling from library/golang 1671565cc8df: Pull complete 3e94d13e55e7: Pull complete fa9c7528c685: Pull complete 53ad072f9cd1: Pull complete dacb042d4b55: Pull complete 60d5069f41a6: Pull complete bac5554425db: Pull complete Digest: sha256:d3f734e1f46ec36da8c1bce67cd48536138085289e24cfc8765f483c401b7d96 Status: Downloaded newer image for golang:latest docker.io/library/golang:latest
原因がわかれば対処方法もわかるということで終わり。
追記
今回は対応しなかったがDockerの公式ドキュメントにもアンチウィルスソフトについての対応方法があった docs.docker.com