Q&A
前提
M1 Mac にて、lima上でdockerを稼働させています。
limaの設定ファイルとして、mountsでwritable:trueとなっているディレクトリを確認し、limactl startで起動。
mounts: - location: "/tmp/lima" writable: true
docker composeでvolumesを書き込み可能に設定。
※Docker Compose version v2.13.0
volumes: - .:/tmp/lima:rw
Dockerfileの内容は
FROM amazonlinux:2 ~ 省略 : いくつかライブラリをインストール ~ RUN mkdir /tmp/lima RUN chmod 777 /tmp/lima WORKDIR /tmp/lima CMD ["sh"]
※chmod 777 /tmp/limaは試しで追加したもの
この状態でdockerをbuild (docker compose build)
↓
docker compose up -d で環境を立ち上げて 、docker execで環境に入る
↓
/tmp/lima 配下で mkdir や chown などを実行しようとすると
結果:「Read-only file system」が表示され、書き込みができない状況(root権限(owner)で実行)
実現したいこと
「Read-only file system」を書き込み可能にしたい
発生している問題・エラーメッセージ
bash-4.2# pwd /tmp/lima bash-4.2# mkdir test mkdir: cannot create directory 'test': Read-only file system
試したこと
Web上で調べたところ、セキュリティモデルを指定が必要との記事があり、試す(limaをstopして再スタート)も、結果は変わりませんでした。
mountType: "9p" mounts: - location: "~" - location: "/tmp/lima" writable: true 9p: securityModel: mapped-xattr cache: "mmap"
補足情報(FW/ツールのバージョンなど)
Docker Compose version v2.13.0
Docker version 20.10.21, build baeda1f
実行環境:MacBook Air (M1, 2020) / macOS BIg Sur
limactl version 0.14.2