Docker 修改时区

碰到Oracle 在windows服务器上,asp.net core web api 在linux的docker中

碰到问题
说ORA-00604: error occurred at recursive SQL level 1
ORA-01882: timezone region not found

这应该是服务器时区和oracle不一致导致的, docker默认时区都是  Etc/UTC,而我的Oracle 数据库中没有这个时区

解决:
通过语句可以查看到Oracle有哪些时区

select tzname, tzabbrev from v$timezone_names

我这里 亚洲的只有重庆,所以,我下面的操作都是选的重庆

在网上找了好多资料,有的说,改oracle什么配置文件,加什么参数,都没有用。

有的说改docker 时区,确实是的,但是好多方法都不能用,也没有说明白。

我的操作系统是 Ubuntu 16.04 修改时区! 尝试各种各种改时区的方法,都没有用。

我的解决办法

1、进入docker

docker exec d7f -it /bin/bash //d7f 是容器的id或名称,我这里是id
2、执行命令:dpkg-reconfigure tzdata

[email protected]:/app# dpkg-reconfigure tzdata
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can‘t locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Configuring tzdata
------------------

Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located.

1. Africa 2. America 3. Antarctica 4. Australia 5. Arctic 6. Asia 7. Atlantic 8. Europe 9. Indian 10. Pacific 11. SystemV 12. US 13. Etc
Geographic area: 6

Please select the city or region corresponding to your time zone.

1. Aden 7. Ashgabat 13. Barnaul 19. Chongqing 25. Dushanbe 31. Hong_Kong 37. Jerusalem 43. Khandyga 49. Macau 55. Novokuznetsk 61. Pyongyang 67. Samarkand 73. Tashkent 79. Tomsk 85. Vladivostok
2. Almaty 8. Atyrau 14. Beirut 20. Colombo 26. Famagusta 32. Hovd 38. Kabul 44. Kolkata 50. Magadan 56. Novosibirsk 62. Qatar 68. Seoul 74. Tbilisi 80. Ujung_Pandang 86. Yakutsk
3. Amman 9. Baghdad 15. Bishkek 21. Damascus 27. Gaza 33. Irkutsk 39. Kamchatka 45. Krasnoyarsk 51. Makassar 57. Omsk 63. Qyzylorda 69. Shanghai 75. Tehran 81. Ulaanbaatar 87. Yangon
4. Anadyr 10. Bahrain 16. Brunei 22. Dhaka 28. Harbin 34. Istanbul 40. Karachi 46. Kuala_Lumpur 52. Manila 58. Oral 64. Rangoon 70. Singapore 76. Tel_Aviv 82. Urumqi 88. Yekaterinburg
5. Aqtau 11. Baku 17. Chita 23. Dili 29. Hebron 35. Jakarta 41. Kashgar 47. Kuching 53. Muscat 59. Phnom_Penh 65. Riyadh 71. Srednekolymsk 77. Thimphu 83. Ust-Nera 89. Yerevan
6. Aqtobe 12. Bangkok 18. Choibalsan 24. Dubai 30. Ho_Chi_Minh 36. Jayapura 42. Kathmandu 48. Kuwait 54. Nicosia 60. Pontianak 66. Sakhalin 72. Taipei 78. Tokyo 84. Vientiane
Time zone: 19

Current default time zone: ‘Asia/Chongqing‘
Local time is now: Mon Nov 12 12:56:26 CST 2018.
Universal Time is now: Mon Nov 12 04:56:26 UTC 2018.

一步一步选下来,选你自己要的时区

3、验证

[email protected]:/app# dpkg-reconfigure -f noninteractive tzdata

Current default time zone: ‘Asia/Chongqing‘
Local time is now: Mon Nov 12 12:56:32 CST 2018.
Universal Time is now: Mon Nov 12 04:56:32 UTC 2018.
看我的时区已经改了,我这里重启了一下容器,程序跑起来了。

原文地址:https://www.cnblogs.com/lidezhen/p/11668939.html

时间: 2024-11-13 04:08:07

Docker 修改时区的相关文章

云服务器 ECS Linux 服务器修改时区的两种方式

在云服务器 ECS Linux 系统中,以 Centos6.5 为例,可以通过如下两种方式,修改系统时区: 可以使用命令 tzselect,修改时区.操作示例: [[email protected] ~]# tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. 1) Africa 2) Americas 3) Ant

Linux服务器修改时区时间

时间的一致性很关键,对于日志的分析和程序的对接都至关重要! 01.tzselect 修改时区 可以使用命令 tzselect,修改时区.操作示例: $ tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) A

ubunut14.04修改时区,版本信息

ubuntu14.04修改时区: 1.首先查看时区: 2.如果要修改时区,执行sudo tzselect 复制文件到/etc目录下: sudo cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 更新时间: sudo ntpdate time.windows.com --------------------------华丽分割线-------------------------------- 输入命令: lsb_release -a

CentOS修改时区、日期、时间

一.时区 显示时区 date --help 获取帮助 date -R date +%z 修改时区 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock -w 写入硬件,避免重启失效 二.时间 概念:Linux时间有两个系统时间:也叫软件时间(sys), 1970年1月1日到当前时间的秒数BOIS时间:也叫硬件时间(hc)显示时间 [[email protected] ~]# date;hwclock -r Fri Feb 17 1

ubuntu修改时区和时间的方法

ubuntu修改时区和时间的方法 1.首先要查看时区 [email protected]:~# date -R Wed, 13 Sep 2017 21:04:21 -0400 如果要修改时区,执行 tzselect 2.选择区域:亚洲 [email protected]:~# tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent, oc

linux下修改时区(TIMEZONE)

今天用虚拟机做实验,ntpdate无数次,时间还是不对.最后发现是时区设置的是纽约!!! 正好记录一下修改时区的方法. 1.查看自己的系统时区 方法1: [[email protected] ~]# date -R Thu, 21 Jul 2016 11:57:27 +0800 方法2: [[email protected] ~]# cat /etc/sysconfig/clock  ZONE="Asia/Shanghai" 这里看到我们的时区是纽约的. 进行修改: [[email p

树莓派(Raspberry Pi)修改时区

1.安装ntp sudo apt-get install ntpdate 2.修改时区 tzselect 3.选择自己的时区 1)选择大洲 2)选择国家 3)选择城市 4)选择YES 5)或者使用命令行 4.配置网络对时 sudo ntpdate cn.pool.ntp.org 注:cn.pool.ntp.org 是国内的ntp服务器 5.输入命令,查看时间 date Wed Dec 24 09:58:28 CST 2014

win7 无法修改时区和时间

电脑用的win7系统, 今天调试程序的时候,想改下时间,才发现修改时区的按钮点了没反应,修改时间的按钮是灰色的,没法保存. 在网上搜了一下,想着应该是用的Ghost安装系统的问题,不过也找到了解决办法,试了一下,能用. -------------将下面文字复制到新建一个.reg文件赋值进去双击导入,就可以了------ Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Cu

ubuntu server修改时区

公司用的是ubuntu server 服务器在美国亚马逊VPS 现在要修改时区 执行:tzselect 或直接修改 /etc/timezone 文件,我是改成(America/Los_Angeles) 然后到/usr/share/zoneinfo/下找相应的时区文件复制到/etc/localtime 我的是 sudo cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime 最后 date & date -R my time(Sun, 0