詳解修改docker時(shí)區(qū)及docker常用命令
前幾天遇到這樣一個(gè)業(yè)務(wù)場(chǎng)景,數(shù)據(jù)庫運(yùn)行在docker 中,docker 的市區(qū)是utc 所以就跟北京時(shí)間相差8個(gè)小時(shí)。但是又不能重新運(yùn)行一個(gè)容器,只能保證數(shù)據(jù)庫運(yùn)行狀態(tài),并把宿主機(jī)的時(shí)區(qū)復(fù)制給docker 容器。很苦惱,
首先我先把宿主機(jī)的時(shí)區(qū)改成啦CST 北京時(shí)間。然后把宿主機(jī)的時(shí)區(qū)復(fù)制給docker 容器。命令如下
docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime
當(dāng)然也可以進(jìn)入容器進(jìn)行修改時(shí)區(qū)(不過我的容器修改的時(shí)候總是報(bào)/etc/localtime 文件只讀,不讓修改。所以就用了上面的方法),命令如下
首先添加所有的時(shí)區(qū)
然后再修改時(shí)區(qū)
apk add tzdata ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo "Asia/Shanghai" > /etc/timezone
當(dāng)然,在容器內(nèi)改,也很麻煩,每次啟動(dòng)新的容器那么就要修改,所以在dockerfile 中修改更好啦。命令如下
ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
最后附上docker 常用命令
docker ps 查看運(yùn)行的容器
docker ps -a 查看停止的容器
docker ps -q 僅列出容器ID
docker ps -s 顯示容器大小。
docker images 查看鏡像
docker images -q 僅列出鏡像ID
docker images –tree 以樹狀結(jié)構(gòu)列出鏡像的所有提交歷史。
docker pull IMAGE_ID 下載image
docker push IMAGE_ID 上傳image
docker rmi IMAGE_ID 刪除image
docker rmi -f 強(qiáng)行移除該鏡像,即使其正被使用;
docker logs -f <容器名orID> 查看容器日志
docker start|stop|restart 啟動(dòng)、停止和重啟一個(gè)或多個(gè)指定容器。
啟動(dòng)一個(gè)container并進(jìn)入交互模式
docker start -i containerID
顯示一個(gè)鏡像的歷史;
docker history image_name
進(jìn)入容器
docker exec -it 容器id bin/bash
啟動(dòng)容器并啟動(dòng)bash(交互方式):
$docker run -i -t <image_name/continar_id> /bin/bash
啟動(dòng)容器以后臺(tái)方式運(yùn)行(更通用的方式):
$docker run -d -it image_name
docker run 命令解釋
-d 后臺(tái)運(yùn)行容器,并返回容器ID;
-i 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;
-t 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;
將container的端口映射到宿主機(jī)的端口
docker run -i -t -p <host_port:contain_port>
將一個(gè)container固化為一個(gè)新的image,后面的repo:tag可選
docker commit <container> [repo:tag]
刪除一個(gè)或多個(gè)container
docker rm <container...>
刪除所有的container
docker rm `docker ps -a -q`
同上, 刪除所有的container
docker ps -a -q | xargs docker rm
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Docker鏡像用普通用戶啟動(dòng)服務(wù)的實(shí)現(xiàn)
使用普通用戶啟動(dòng)Docker容器中的服務(wù),可以有效降低潛在的安全風(fēng)險(xiǎn),本文主要介紹了Docker鏡像用普通用戶啟動(dòng)服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
Docker本地鏡像的導(dǎo)出導(dǎo)入兩種方案介紹
這篇文章主要介紹了Docker本地鏡像的導(dǎo)出導(dǎo)入兩種方案的相關(guān)資料,兩種方法分別是export/import和save/load兩種方案,文中并對(duì)比了它們的差別和應(yīng)用場(chǎng)景,需要的朋友可以參考下2025-03-03
如何使用docker?compose部署dify(大模型開發(fā)使用平臺(tái))
Dify是一款生成式AI應(yīng)用中間件,面向有私有部署與數(shù)據(jù)合規(guī)需求的企業(yè)用戶,推動(dòng)企業(yè)向AI+時(shí)代轉(zhuǎn)型,這篇文章主要介紹了使用docker compose部署dify(大模型開發(fā)使用平臺(tái)),需要的朋友可以參考下2025-05-05
使用docker構(gòu)建一個(gè)redis鏡像的方法詳解
Redis是一個(gè)開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value型NoSQL數(shù)據(jù)庫,本文介紹了docker創(chuàng)建redis鏡像的方法,分享給大家,需要的朋友可以參考下2024-06-06
Docker暴露2375端口導(dǎo)致服務(wù)器被攻擊問題及解決方法
這篇文章主要介紹了Docker暴露2375端口導(dǎo)致服務(wù)器被攻擊問題及解決方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
在Ubuntu?Server?22.04上安裝?Docker的詳細(xì)步驟記錄
通過使用容器技術(shù),Docker能夠讓開發(fā)人員將應(yīng)用及其依賴環(huán)境一同打包,從而實(shí)現(xiàn)快速部署、一致的開發(fā)環(huán)境和優(yōu)秀的可移植性,這篇文章主要給大家給大家介紹了關(guān)于在Ubuntu?Server?22.04上安裝?Docker詳細(xì)步驟的相關(guān)資料,需要的朋友可以參考下2024-08-08

