✨
Docker コンテナ内からホスト側とマウントしたディレクトリ内に書込みができない問題の解決
問題が起きた時
以下コマンドでコンテナを立ち上げた時に
docker run -it --rm -v "$(pwd)/hoge:/tmp/hoge" sample-image /bin/bash
以下のようにコンテナ内の /tmp/hoge
下にファイルまたはディレクトリを作成しようとすると
touch /tmp/hoge hoge.txt
以下エラーが出る。
touch: cannot touch '/tmp/hoge/hoge.txt': Read-only file system
ls
で権限を見る限りはホスト側もコンテナ内も書き込めそうである。
環境について
docker のインストールは Docker Desctop を使用せずに docker cli と lima をインストールした。
インストールの手順については以下を参照。
解決策
lima のデフォルト設定を変更して解決した。
まず稼働中の lima を止める。
limactl stop default
続いて以下でデフォルトを書き換える。
limactl edit default
書き換える内容は以下。
mounts:
- - location: "~"
+ - location: "/Users"
+ writable: true
- location: "/tmp/lima"
writable: true
そしてリスタート。
limactl start default
Discussion