Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
5
Help us understand the problem. What is going on with this article?
@FattyRabbit

Docker For Macが遅い

prefs-reset.png

「クソみたいに遅いじゃん。」自分の経験ではないですが、今後の為に資料を調査して理由・対応方法を咲くってみました。

遅い理由

結論としては「Docker For Mac」がosxfsを採用している。あ!!それよりosxfsがOSXのFSEvents APIとLinux’s inotify APIをマッピングさせているのが原因です。

参考:https://forums.docker.com/t/file-access-in-mounted-volumes-extremely-slow-cpu-bound/8076/158

  • osxfsの throughput は250 MB/s -> これはほとんどのAPPで問題にならないはず
  • コンテナ内からosxfsに対するファイルIOのシステムコールはlatencyが遅い。書き込み時で200μs -> 通常のファイルシステムであれば under 10μs(クソやられた感じ)

対応方法

じゃ、簡単!!「Docker For Mac」を使えなければ良い。( ゚Д゚)ヴォケ!!

VirtualBoxを利用

docker-machineでVirtualBox上に立ち上げたdocker環境で開発環境を構築する。うん、面倒だ〜〜〜(;^ω^)

Docker For Macを使わない

CE 17.12 (edge) チャンネルを使うこと。(・д・)チッ

参考:https://blog.hanhans.net/2017/05/10/docker-user-guided-caching/

コンテイナ間を爆速で同期する

例としてはdocker-syncをおすすめします。rsyncで設定が簡単かな。

対策の実験

興味がある方はこちらへ
Laravel + Docker + 開発環境
Docker For Macが遅い:対策 - Mutagen編

5
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
FattyRabbit
韓国から1999年日本にきて色んなプロジェクトに参加しております。アンドロイドの画像編集・本作成プロジェクトで開発レーダー・メインエンジニアとして仕事して個人的にもアプリを開発・公開しています、仕事のほとんどウェブプロジェックトです。 最近ははてな(https://fatty-rabbit.hatenablog.com/)に書いております。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
5
Help us understand the problem. What is going on with this article?