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」として透過でアクセスすることが可能になります。