Dies hat bei einem Fedora 20-Host funktioniert. Ich habe einen Container ausgeführt mit:
docker run -v /etc/localtime:/etc/localtime:ro -i -t mattdm/fedora /bin/bash
Anfangs /etc/localtime
war eine weiche Verbindung zur /usr/share/zoneinfo/Asia/Kolkata
indischen Standardzeit. Die Ausführung date
im Container zeigte mir die gleiche Zeit wie auf dem Host. Ich verließ die Shell und stoppte den Container mit docker stop <container-id>
.
Als nächstes entfernte ich diese Datei und stellte zu /usr/share/zoneinfo/Singapore
Testzwecken einen Link zu her . Die Host-Zeit wurde auf die Zeitzone von Singapur eingestellt. Und dann tat es docker start <container-id>
. Dann wurde erneut mit auf die Shell zugegriffen nsenter
und festgestellt, dass die Zeit jetzt auf die Zeitzone von Singapur eingestellt war.
docker start <container-id>
docker inspect -f {{.State.Pid}} <container-id>
nsenter -m -u -i -n -p -t <PID> /bin/bash
Der Schlüssel hier ist also, -v /etc/localtime:/etc/localtime:ro
wenn Sie den Container zum ersten Mal ausführen. Ich habe es auf diesem Link gefunden .
Ich hoffe es hilft.