2020-06-11

修正 WIN10 網路時不時停滯的問題(不限定版本)

我目前的 win10 版本是 1909…

它是從 1903 升級上來的…再之前我使用過 1709 的版本一路升級至1803、1809,但在升級至 1903 時系統變的非常慢,我還原回去 1809 後系統還是慢,然後就直接重灌為 1903 ,然後就一直使用至今。

這次說要修正的「win10 網路不定時停滯」的問題是我升級到 1909 後才發現有這狀況的,在一開始其實這個狀況發生率不高,至少會讓我發現網路怪怪的情況不多…但在 1909 的 2020/02 升級的網路下載問題開始就有發現這個停滯的發生機率就有提高。

在網路上搜尋了一下之後發現,有這個狀況的人還真不少,而且發生版本不限定在 1909 ,在之前的版本就常有人詢問這問題了。

我自己目前所使用的解法是:

2020-06-03

在 docker-compose.yml 中來指定 container 的時區(timezone)

最近幫朋友處理有關 docker 的一些小問題

我朋友說他去用了別人寫好的 docker-compose ,up 之後會產生 web, db 兩個 container ,但他在操作資料時發現寫入時間不對。

後來除錯時發現其實是系統時區的問題,web 的系統是 centos 7.7 ,而 db 是 debian (版本忘了),他兩個 container 都利用「ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime」來設定時區,結果發現只有 db 有修正,由 utc → cst ,但 web 還是依舊維持在 cest ,沒有更動過去。

他在 web 想使用「timedatectl set-timezone Asia/Taipei」時發現出現「failed to create bus connection no such file or directory」,他上網 google 後發現有人說要讓 docker 以 privileged 模式啟動 container 才能讓 container 的 root 真的有最高權限,但也有相關資料顯示 docker container 不該以 privileged 模式啟動,因為風險很大,所以朋友就來問我看有沒有什麼方式。

從 docker-compose.yml 下手,可以在 web 與 db 的「environment」的區塊下增加「- TZ=Asia/Taipei」或「TZ: Asia/Taipei」可以讓 container 啟動後設定為 Asia/Taipei 的時區,且 web 和 db 都支援這個方式。

至於為什麼會有「- TZ=Asia/Taipei」跟「TZ: Asia/Taipei」兩種寫法,似乎是跟 docker-compose 的版本有關,後者,也就是「TZ: Asia/Taipei」是比較新式的寫法,如果有發現使用了「- TZ=Asia/Taipei」後在 up 時出現錯誤,可以修改為「TZ: Asia/Taipei」的方式來重新 up 。

另外,「- TZ="Asia/Taipei"」的寫法是錯誤的,記得不要加雙引號