Docker覚え書き
今回は、前回作成したubuntu環境を利用するうえで、あっこれをメモしておこう…といった内容です。
タイムゾーンを日本にする
前回作成した環境を使用して一番楽なのは、tzdata をインストールしての実行することです。
$ sudo apt install tzdata
また、Dockerfileに下記の記述を追加する方法もあります。
RUN apt-get install -y tzdata && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
これでタイムスタンプがズレていることに悩まなくて済みます。
上記の
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
は、動的にリンクを張っていますが、もっとシンプルにTZ環境変数で設定できるようです。
Dockerfileであれば
ENV TZ=Asia/Tokyo
docker-compose.yml であれば、
environment:
TZ: Asia/Tokyo
を指定すれば、tzdataさえ導入しておけば良さげです。
ファイルの共有
Dockerではホストの任意のディレクトリとコンテナのディレクトリをbindすることで共有が可能です。
前回は
$ sudo docker run -d -it --name ubuntu-test ubuntu:test
$ sudo docker exec -it ubuntu-test bash
で起動していましたが、
$ sudo docker run -d -it --name ubuntu-test --mount type=bind,source=/home/hoge,target=/home/hoge ubuntu:test
のような形でコンテナを起動することで、ホスト側の「/home/hoge」がコンテナの「/home/hoge」として透過でアクセスすることが可能になります。