Yanıtlar:
Boot2docker çalıştıran OSX kullanıyorsanız, şu soruna bakın: https://github.com/boot2docker/boot2docker/issues/290
İşletim sisteminiz uyurken boot2docker ana bilgisayarının zaman kayması olduğundan, zaman senkronizasyonu bir sorun haline gelir. Docker kapsayıcınızla zaman senkronizasyonu, kapsayıcınız ile çalıştırılarak çözülemez.-v /etc/localtime:/etc/localtime:ro
Bunun yerine, şimdilik, bunu OSX'te periyodik olarak çalıştırmanız gerekiyor:
/usr/local/bin/boot2docker ssh sudo ntpclient -s -h pool.ntp.org
Kitematic kullanıcıları için güncelleme
Eğer çalışıyorsa Kitematic şimdi kalkıp OSX içinde Docker çalışan için önerilen mekanizma, periyodik olarak bu komutu çalıştırmak gerekir:
docker-machine ssh default 'sudo ntpclient -s -h pool.ntp.org'
Veya docker'ın eski sürümleri için
docker-machine ssh dev 'sudo ntpclient -s -h pool.ntp.org'
OSX için yeni yerel Docker kullanıcıları için güncelleme
Yeni Docker Beta, VirtualBox ve Docker Machine'i ortadan kaldırıyor. Docker'ın en son derlemeleri (şu anda 1.12.1-beta25 (derleme: 11807)), bir zaman kesintisi olduğunda bunu algılama ve buna göre ayarlama yeteneğine sahip görünüyor. Bu nedenle, bu artık bir sorun olmamalı ... yaşasın !!
https://github.com/sameersbn/docker-gitlab/issues/77
Sameersbn'nin cevabını görün.
option 1: -v /etc/localtime:/etc/localtime:ro
option 2: -e "TZ=Asia/Shanghai"
En basit çözüm, kapsayıcınızı -v /etc/localtime:/etc/localtime:ro
seçenekle çalıştırmak gibi görünüyor . Böylece:
#run without tz info:
docker run --rm -t -i ubuntu date
Wed Apr 2 18:40:07 UTC 2014
# run with tz info:
docker run --rm -t -i -v /etc/localtime:/etc/localtime:ro ubuntu date
Wed Apr 2 11:40:29 PDT 2014
--privileged
modda çalışması dışında onu değiştirememesi dışında ).
date
MWE'mdeki ana makineye bir çağrı eklemeliydim , aksi takdirde konteynerin zamanını ana bilgisayardan alacağı belirsiz olabilir.
setup mount namespace mounting /etc/localtime into /mnt/sda1/var/lib/docker/aufs/mnt/.../etc/localtime not a directory
Mac OS X Beta için Docker'da, Alpine Linux tabanlı sanal makinede önemli bir sapma yaşadım. Gönderen Alp Linux SSS aşağıdaki komutla VM'ın saatini senkronize edebilirsiniz.
ntpd -d -q -n -p pool.ntp.org
Ancak, sanal makinedeki bir terminale erişim sağlamak, ekran komutunu kullanırsanız yapılabilecek başka bir sorudur.
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
Bu yol, sistemimde işaret eden bir sembolik bağlantıdır /dev/ttys003
.
Eğer notta aldıktan sonra o moby login
basitçe root
hiçbir şifre ile. Bitirdikten sonra, CTRL-A, D ekran oturumundan ayrılacaktır.
NOT: Bu , önceden Mac için Docker Sorun Giderme'de belgeleniyordu, ancak kaldırılmış gibi görünüyor. Dockercon 2016'da bunu gösterecek kadar şanslıydım. Görünüşe göre Docker sanal makineyi deneyimden tamamen soyutlamaya çalışıyor, bu da neden artık belgelenmediğini açıklıyor.
Docker'da osx zaman kayması için mevcut çözüm (Nisan 2018):
Mac'im bir NTP sunucusunda var, ancak bu sabit saat kapsayıcılarla kayıyor:
Gönderen https://docs.docker.com/docker-for-mac/troubleshoot/#known-issues :
Sisteminizin bir NTP sunucusuna erişimi yoksa, bir hazırda bekletme modundan sonra Mac için Docker tarafından görülen süre, ana bilgisayarla önemli ölçüde senkronize olmayabilir. Ayrıca, kullanım sırasında zaman senkronizasyondan yavaşça kayabilir. Hazırda bekletme modundan sonraki süreyi manuel olarak sıfırlamak için şunu çalıştırın:
docker run --rm --privileged alpine hwclock -s
Veya, her iki sorunu da çözmek için, yerel saati ana bilgisayar için düşük öncelikli (yüksek katman) bir geri dönüş NTP zaman kaynağı olarak ekleyebilirsiniz. Bunu yapmak için, eklemek üzere ana bilgisayarın /etc/ntp-restrict.conf dosyasını düzenleyin:
server 127.127.1.1 # LCL, local clock
fudge 127.127.1.1 stratum 12 # increase stratum
Ardından NTP hizmetini şu şekilde yeniden başlatın:
sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist
sudo launchctl load /System/Library/LaunchDaemons/org.ntp.ntpd.plist
Ekle /etc/localtime:/etc/localtime:ro
için volumes
öznitelik.
Bir örnek göstermek için bu bağlantıya bakın .