主頁 > 知識庫 > docker時區(qū)問題和遷移數(shù)據(jù)問題

docker時區(qū)問題和遷移數(shù)據(jù)問題

熱門標(biāo)簽:激光標(biāo)記地圖標(biāo)注 新鄉(xiāng)牧野400電話申請 中國地圖標(biāo)注上各個省 高德地圖標(biāo)注足跡怎么打標(biāo) 企業(yè)辦理400電話收費標(biāo)準(zhǔn) 電銷智能機(jī)器人試用 撫州市城區(qū)地圖標(biāo)注 智能電銷機(jī)器人真的有用么 百度地圖底圖標(biāo)注

最新解決辦法:

-v /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone -v /etc/localtime:/etc/localtime:ro

docker run --name tomcat-service-0 -d -p 8080:8080 -v /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone -v /etc/localtime:/etc/localtime:ro -v /home/zjy/logs/tomcat-service-0:/usr/local/tomcat/logs -v /home/zjy/code/ligu/target:/usr/local/tomcat/webapps tomcat

問題1

項目在使用docker部署的時候,發(fā)現(xiàn)docke容器里面的時區(qū)和服務(wù)器的時間相差8個小時。
盡管使用 -v /etc/localtime:/etc/localtime 將服務(wù)器時間和容器掛載同步了,但是容器里的tomcat的時區(qū)仍然差8個小時。

說明

-v /etc/localtime:/etc/localtime

在啟動的時候,使用這個命令,僅僅是將服務(wù)器和容器里系統(tǒng)的時間掛載了,你可能進(jìn)入到容器里面再執(zhí)行
“date” 命令看到,容器里面的時間的確是更改過來了,但是容器里面的tomcat運行的環(huán)境的日期,實際上仍未更改。
因為我們在pull獲取這個tomcat鏡像的時候,這個tomcat容器的時區(qū)已經(jīng)固定了,所以我們唯一的辦法是在編譯這個tomcat鏡像的時候,就將本地服務(wù)器的時間和這個鏡像綁定起來。

解決辦法(超簡單)

使用dockerFile編譯鏡像。 Dockerfile如下

# Pull base image 
FROM tomcat:latest 
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

執(zhí)行如下命令

命令格式:
$docker build -t image_name Dockerfile_path
$:docker build -t timetomcat/timetomcat .

然后后邊啟動容器的時候,使用編譯的這個tomcat即可

如圖

docker 容器遷移

說明

docker部署的服務(wù)器發(fā)生變化的時候,比如數(shù)據(jù)庫,想部署到一個新的地址,這些數(shù)據(jù)遷移有很多辦法:

針對數(shù)據(jù)庫:

1 使用mysql 的主從復(fù)制備份,在項目運行期間,將mysql服務(wù)器備份到多個地址,具體請看地址:https://zhangjy520.github.io/

2 使用啟動mysql的時候,使用 -v 掛載 將本地的路徑和容器路徑綁定,然后遷移的時候?qū)⒈镜氐穆窂綇?fù)制到新服務(wù)器即可
-v /home/mysql/master/data/db-conf:/etc/mysql/ -v /home/mysql/master/data/db-data:/var/lib/mysql

3 導(dǎo)出mysql數(shù)據(jù)庫唄,再導(dǎo)入到新的地址,比較low

4 使用docker的容器遷移。這篇博客主要講的是docker,這里我們主要講講如何使用docker遷移

解決辦法(超簡單) 容器遷移

export / import

源服務(wù)器上執(zhí)行

docker export 83271b648212 >time.tar //導(dǎo)出容器,這里這個數(shù)字是容器id,會得到一個 tar壓縮包

解釋:這個壓縮包打開可以看到,其實是一個linux服務(wù)器的目錄結(jié)構(gòu),這個命令將容器以及容器運行的環(huán)境打包了

在目的服務(wù)器上執(zhí)行

cat time.tar | sudo docker import - time:v2 //導(dǎo)入容器,導(dǎo)入得到一個鏡像,使用 帶command /bin/bash 的docker run
即可得到之前的容器包括文件

啟動鏡像

sudo docker run -itd --name import_test -p 8087:8080 time:v2 /bin/bash




save / load

sudo docker save web > web.tar
sudo docker load < web.tar

到此這篇關(guān)于docker時區(qū)問題和遷移數(shù)據(jù)問題的文章就介紹到這了,更多相關(guān)docker時區(qū)問題和遷移數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:海西 忻州 邯鄲 臨汾 西安 延安 南通 辛集

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker時區(qū)問題和遷移數(shù)據(jù)問題》,本文關(guān)鍵詞  docker,時區(qū),問題,和,遷移,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《docker時區(qū)問題和遷移數(shù)據(jù)問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于docker時區(qū)問題和遷移數(shù)據(jù)問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章