dockerのmysql8環境でmbind: Operation not permitted

公開日時
更新日時

mysql8の検証環境として下記のようなdocker-compose.ymlを用意して、

  db:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: pass
    ports:
      - 3306:3306
    volumes:
      - db_data:/var/lib/mysql

docker-compose upを実行したところ、下記のエラー文が表示されていた。

動作自体は問題なさそうだったが気になったので対応方法を調べてみた。

mbind: Operation not permitted
mbind: Operation not permitted
mbind: Operation not permitted

Stack Overflowにエラー文の抑制方法が載っていたのでcap_addを追加したところ、エラー表示が消えた。

  db:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: pass
    cap_add:
      - SYS_NICE
    ports:
      - 3306:3306
    volumes:
      - db_data:/var/lib/mysql

参考


Related #docker

docker-credential-desktop.exe not installed or not available in PATH

rm ~/.docker/config.jsonしたら起動できた

Cloud Datastoreのローカル環境をDockerで構築する

CloudDatastoreエミュレータとgoogle-cloud-guiの環境を構築

Extension fieldsを使ってdocker-composeのコンテナ設定を共通化する

Railsコンテナ設定を共通化して、commandだけそれぞれで変えるようにした

docker-composeコマンドのエイリアスを作る

dcコマンドを置き換えた

Dockerでpt-query-digestを使う

コンテナのおかげで手軽にslowlog分析ができるようになった

mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored.

windowsだとvolume mountすると777になるのでDockerfileを作ってcopyするようにした