docker修改postgresql时区配置
一、前言
在开发程序的时候,发现postgresql数据库的时区和北京时间差了8个小时,原因是postgresql使用的是默认的Etc/UTC时区。因此需要改掉,改成PRC,因为装在docker容器中,需要在docker中操作。
postgresql查看时区命令:show timezone;
二、操作docker容器
1、查看当前所有的容器
docker ps -a
如果权限不够就在前面加上sudo。
2、找到docker容器ID
根据第一步,找到postgresql的容器idCONTAINER ID,比方是a3a3a3a3
3、拷贝postgresql.conf文件到服务器某个目录
sudo docker cp a3a3a3a3:/var/lib/postgresql/data/postgresql.conf /apps/omp/
拷贝到/apps/omp/目录下。
4、编辑postgresql.conf文件
sudo vi postgresql.conf
在命令模式下查找timezone关键字,/timezone,会定位到字符串的位置,想查找下一个,按"n"。
输入 i 进入编辑模式,开始编辑文本。
将timezone = Etc/UTC修改成timezone = PRC
按esc,再查询下一个timeout,都改成PRC。
最后保存并退出,:wq
5、复制修改后的文件到容器
sudo docker cp /apps/omp/postgresql.conf a3a3a3a3:/var/lib/postgresql/data/
这个命令会直接覆盖原来的文件。
6、重启容器
sudo docker restart a3a3a3a3
至此,修改已全部完成。
