docker中,容器時間和宿機主機時間不一致問題

win11下的docker中有個mysql。今天發現插入數據的時間不正確。后來發現原來是docker容器中的時間不正確。于是嘗試了各種修改,什么run -e TZ="${tzutil /g}",TZ="Asia/Shanghai",還有初始化時帶--mysqld一類的,都無效。

后來偶然間發現wsl中的docker-desktop中的時間和mysql中的一致,才突然想到,其實容器是運行在docker-desktop這個發行版中的,所以它的環境就是各容器的環境,于是進入docker-desktop,執行:

#在wsl中修改系統時間
date -s "2025-06-03 13:50"

使用date修改為當前時間即可。

/************************************ 又發現點問題,更新一下 *****************************************/

根據上面的修改,改完后,過一會時間又恢復了不正確的時間。初步原因如下:

docker-desktop是基于alpine linux。它直接date -s修改時間后,過一會會自動同步為UTC標準時間。如果查看win平臺,會發現win其實是使用了UTC+8,它是在utc的基礎上偏移8小時,獲得當前區域時間。而docker-desktop只是同步了UTC,而未偏移,這一點使用

# 查看標準硬件時間
hwclock -r

可以發現,它后面的延遲是0,即標準UTC時間,而不是UTC+8。

于是需要將alpine中的時區替換為CST8,這一步中,如果你的網絡足夠好,可以撐桿跳,那直接安裝tzdata即可。如果像我這一樣,根本連不上,而wsl中恰好還有一個ubuntu的時候,方案就有了。步驟為:從ubuntu中將/usr/share/zoneinfo/Asia文件夾中的內容,復制到docker-desktop中,再創建一個軟鏈接即可。

# 登陸wsl,注意這里使用root用戶,否則就會像我一樣,被要求輸入一個誰也不知道的密碼
wsl -u root
# 登陸后,復制文件
cd /usr/share/zoneinfo/
tar -czvf Asia.tar.gz Asia/
mv Asia.tar.gz /mnt/c/tmp/
exit
# 這樣就將Asia.tar.gz復制到c:\tmp文件中了
# 登陸docker對應的linux
wsl -d docker-desktop
mv /mnt/host/c/tmp/Asia.tar.gz /usr/share/zoneinfo #如果沒有這個目錄,建一個
cd /usr/share/zoneinfo
tar -xzvf Asia.tar.gz 
#復制完成了
# 創建一個鏈接
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

如果執行完了,都沒有報錯,則執行date后,會發現時區變為了CST,時間也正確了。

但是!!!容器中的時間和docker-desktop發行版中的時區是獨立的。于是創建新的容器


docker run -d --name mysql \-v volume_name:/var/lib/mysql \ # 自己的volume的設置-e MYSQL_ROOT_PASSWORD=root \-e TZ=Asia/Shanghai \   # 這個是關鍵-p 3306:3306 mysql:8 \--lower-case-table-names=1

然后再select now()查看一下,發現時間一致了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83784.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83784.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83784.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uniapp實現的簡約美觀的星級評分組件

采用 uniapp 實現的一款簡約美觀的星級評分模板,提供絲滑動畫效果,用戶可根據自身需求進行自定義修改、擴展,純CSS、HTML實現,支持web、H5、微信小程序(其他小程序請自行測試) 可到插件市場下載嘗試&#x…

go語言的鎖

本篇文章主要講鎖,主要會涉及go的sync.Mutex和sync.RWMutex。 一.鎖的概念和發展 1.1 鎖的概念 所謂的加鎖和解鎖其實就是指一個數據是否被占用了,通過Mutex內的一個狀態來表示。 例如,取 0 表示未加鎖,1 表示已加鎖&#xff…

Ubuntu 服務器軟件更新,以及常用軟件安裝 —— 一步一步配置 Ubuntu Server 的 NodeJS 服務器詳細實錄 3

前言 前面,我們已經 安裝好了 Ubuntu 服務器系統,并且 配置好了 ssh 免密登錄服務器 ,現在,我們要來進一步的設置服務器。 那么,本文,就是進行服務器的系統更新,以及常用軟件的安裝 調整 Ubu…

如何從零開始建設一個網站?

當你沒有建站的基礎和建站的知識,那么應該如何開展網站建設和網站管理。而今天的教程是不管你是為自己建站還是為他人建站都適合的。本教程會指導你如何進入建站,將建站的步驟給大家分解: 首先我們了解一下,建站需要那些步驟和流程…

網絡可靠性的定義與核心要素

網絡可靠性(Network Reliability)是指網絡系統在特定時間范圍內持續提供穩定、無中斷、符合預期性能的服務能力。其核心目標是確保數據能夠準確、完整、及時地傳輸,即使在部分故障或異常情況下仍能維持基本功能。 1. 網絡可靠性的核心指標 衡…

GpuGeek如何成為AI基礎設施市場的中堅力量

AI時代,算力基礎設施已成為支撐技術創新和產業升級的關鍵要素。作為國內專注服務算法工程師群體的智算平臺,GpuGeek通過持續創新的服務模式、精準的市場定位和系統化的生態建設,正快速成長為AI基礎設施領域的中堅力量。本文將深入分析GpuGeek…

【Qt】Bug:findChildren找不到控件

使用正確的父對象調用 findChildren:不要在布局對象上調用 findChildren,而應該在布局所在的窗口或控件上調用。

【Linux網絡編程】傳輸層協議TCP,UDP

目錄 一,UDP協議 1,UDP協議的格式 2,UDP的特點 3,面向數據報 4,UDP的緩沖區 5,UDP使用注意事項 6,基于UDP的應用層協議 二,對于報文的理解 三,TCP協議 1&…

Neo4j 數據可視化與洞察獲取:原理、技術與實踐指南

在關系密集型數據的分析領域,Neo4j 憑借其強大的圖數據模型脫穎而出。然而,將復雜的連接關系轉化為直觀見解,需要專業的數據可視化技術和分析方法。本文將深入探討 Neo4j 數據可視化的核心原理、關鍵技術、實用技巧以及結合圖數據科學庫(GDS)獲取深度洞察的最佳實踐。 Ne…

樹莓派超全系列教程文檔--(55)如何使用網絡文件系統NFS

如何使用網絡文件系統NFS 網絡文件系統 (NFS)設置基本 NFS 服務器Portmap 鎖定(可選) 配置 NFS 客戶端端口映射鎖定(可選) 配置復雜的 NFS 服務器組權限DNS(可選,僅在使用 DNS 時)NIS&#xff0…

無法運用pytorch環境、改環境路徑、隔離環境

一.未建虛擬環境時 1.創建新項目后,直接運行是這樣的。 2.設置中Virtualenv找不到pytorch環境?因為此時沒有創建新虛擬環境。 3.選擇conda環境(全局環境)時,是可以下載環境的。 運行結果如下: 是全局環境…

HTML5+CSS3+JS小實例:具有粘性重力的磨砂玻璃導航欄

實例:具有粘性重力的磨砂玻璃導航欄 技術棧:HTML+CSS+JS 效果: 源碼: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width…

NodeJS全棧WEB3面試題——P8項目實戰類問題(偏全棧)

&#x1f4e6; 8.1 請描述你做過的 Web3 項目&#xff0c;具體技術棧和你負責的模塊&#xff1f; 我主導開發過一個基于 NFT 的數字紀念平臺&#xff0c;用戶可以上傳照片并生成獨特的紀念 NFT&#xff0c;結合 IPFS 和 ERC-721 實現永存上鏈。 &#x1f527; 技術棧&#xf…

3-10單元格行、列號獲取(實例:表格選與維度轉換)學習筆記

************************************************************************************************************** 點擊進入 -我要自學網-國內領先的專業視頻教程學習網站 *******************************************************************************************…

AI問答-vue3+ts+vite:http://www.abc.com:3022/m-abc-pc/#/snow 這樣的項目 在服務器怎么部署

為什么記錄有子路徑項目的部署&#xff0c;因為&#xff0c;通過子路徑可以區分項目&#xff0c;那么也就可以實現微前端架構&#xff0c;并且具有獨特優勢&#xff0c;每個項目都是絕對隔離的。 要將 Vue3 項目&#xff08;如路徑為 http://www.abc.com:3022/m-saas-pc/#/sno…

PostgreSQL-基于PgSQL17和11版本導出所有的超表建表語句

最新版本更新 https://code.jiangjiesheng.cn/article/368?fromcsdn 推薦 《高并發 & 微服務 & 性能調優實戰案例100講 源碼下載》 1. 基于pgsql 17.4 研究 查詢psql版本&#xff1a;SELECT version(); 查看已知1條建表語句和db中數據關系 SELECT create_hypert…

世事無常,比較復雜,人可以簡單一點

2025年6月5日日&#xff0c;17~28℃&#xff0c;一般 待辦&#xff1a; 宣講會 職稱材料的最后檢查 職稱材料有錯誤&#xff0c;需要修改 期末考試試題啟用 教學技能大賽PPT 遇見&#xff1a;部門宣傳泰國博士項目、碩士項目、本科項目。 感受或反思&#xff1a;東南亞博士…

B站緩存視頻數據m4s轉mp4

B站緩存視頻數據m4s轉mp4 結構分析 結構分析 在沒有改變數據存儲目錄的情況下&#xff0c;b站默認數據保存目錄為&#xff1a; Android->data->tv.danmaku.bili->download每個文件夾代表一個集合的視頻&#xff0c;比如&#xff0c;我下載的”java從入門到精通“&…

一次Oracle的非正常關閉

數據庫自己會關閉嗎&#xff1f; 從現象來說Oracle MySQL Redis等都會出現進程意外停止的情況。而這些停止都是非人為正常關閉或者暴力關閉&#xff08;abort或者kill 進程&#xff09; 一次測試環境的非關閉 一般遇到這種情況先看一下錯誤日志吧。 2025-06-01T06:26:06.35…

linux 串口調試命令 stty

linux 串口調試命令 stty 文章目錄 linux 串口調試命令 sttystty 常見命令選項&#xff1a;常用參數&#xff1a;一次性設置串口所有常見參數總結 stty&#xff08;設置終端行模式&#xff09;命令是用來配置終端設備&#xff08;包括串口設備&#xff09;的輸入和輸出行為的工…