Dockerで- /etc/localtime:/etc/localtime:ro がMount Deniedを出すやつ

  • Mac OS: 10.13.3(17D47)
  • Docker for Mac: Version 17.12.0-ce-mac49 (21995)

ちょっと古いdocker-compose.ymlには結構

volumes:
  - /etc/localtime:/etc/localtime:ro

みたいな記述が入ってるんだけど、これが以下のエラーを出す。

Mounts denied:
The path /etc/localtime
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.

ということで、以下のように書くと良いっぽい。

volumes:
  # - /etc/localtime:/etc/localtime:ro
environment:
    - TZ=`ls -la /etc/localtime | cut -d/ -f8-9`

環境変数のTZに値を渡す感じ。

もともとDockerさんに時刻を渡す方法はこの二通りなんだけどちょっと前のバージョンから動かなくなってた。
Dockerの時刻 - Qiita

とりあえず誰かの参考になれば