具有docker应用程序的IP地址
我尝试运行NTP服务器/客户端。我正在使用NTP的应用程序正在docker中运行。 我有点困惑,因为: 1。我不知道是必须在docker内部还是机器外部配置/etc/ntp.conf文件。 2。我必须使用哪个IP地址。如果我使用具有docker应用程序的IP地址,docker,ip,ntp,Docker,Ip,Ntp,我尝试运行NTP服务器/客户端。我正在使用NTP的应用程序正在docker中运行。 我有点困惑,因为: 1。我不知道是必须在docker内部还是机器外部配置/etc/ntp.conf文件。 2。我必须使用哪个IP地址。如果我使用ifconfig我会得到下面的输出。我不知道我是否必须使用docker的IP或wlp4s0的IP。另外,如果我通过检查我的IP,我会得到一个完全不同的IP地址,如果我运行ifconfig,我看不到这个地址。我不知道这是否重要,但我正在使用我公司的无线局域网 docker0
ifconfig
我会得到下面的输出。我不知道我是否必须使用docker的IP或wlp4s0的IP。另外,如果我通过检查我的IP,我会得到一个完全不同的IP地址,如果我运行ifconfig
,我看不到这个地址。我不知道这是否重要,但我正在使用我公司的无线局域网
docker0 Link encap:Ethernet HWaddr 02:42:5e:fd:b4:0d
inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0
inet6 addr: fe80::42:5eff:fefd:b40d/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:1713 (1.7 KB)
enp6s0 Link encap:Ethernet HWaddr 4c:cc:6a:de:50:f6
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:19
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4092 errors:0 dropped:0 overruns:0 frame:0
TX packets:4092 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:689519 (689.5 KB) TX bytes:689519 (689.5 KB)
wlp4s0 Link encap:Ethernet HWaddr 9c:b6:d0:1b:90:8b
inet addr:10.39.158.200 Bcast:10.39.159.255 Mask:255.255.252.0
inet6 addr: fe80::dc16:b5ad:2f01:d58a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7821858 errors:0 dropped:0 overruns:0 frame:0
TX packets:1046710 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10548810679 (10.5 GB) TX bytes:96754356 (96.7 MB)
谢谢大家! 您应该在底层主机上而不是在容器中设置NTP服务器 在考虑您的
ntp.conf
时,您应该确保至少有3台上游服务器,最好有5台以确保可靠的定时。理想情况下,您应该找到一些低层次、低往返时间的服务器,用作上游提供商
人们似乎报告了集装箱使用错误时区的问题
如果使用Alpine映像,则需要先安装tzdata
,然后在docker文件中设置以下内容:
ENV TZ=Europe/London
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
如果您使用的不是Alpine,那么您仍然可以在docker文件中使用相同的命令,以确保设置了正确的时区
可以找到有效时区的列表
至于IP地址;
wlp4s0
看起来像是底层主机的物理以太网接口-如果是这种情况,那么这就是您应该使用的地址,前提是您的所有容器都将在该主机上运行,并且它们本身可以到达该IP地址。在线检查时看到不同IP地址的原因是,您提供的输出中的所有内容都只显示私有IP地址,而不是公共IP地址。看起来您的公共IP是由主机提供商/网络提供商通过NAT或类似方式提供的。由于Docker容器没有单独的时间概念,因此在容器中运行NTP守护程序通常没有意义;在主机上作为系统进程运行一个。