您好,登錄后才能下訂單哦!
今天小編給大家分享一下docker怎么查詢鏡像版本信息的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
1. 官網(wǎng)查詢
訪問(wèn)https://hub.docker.com/搜索mysql
選擇第一個(gè),然后點(diǎn)擊tag
2. curl 訪問(wèn)url
docker search mysql
curl https://registry.hub.docker.com/v1/repositories/mysql/tags\ | tr -d '[\[\]" ]' | tr '}' '\n'\ | awk -F: -v image='mysql' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
Docker 是一個(gè)開源的應(yīng)用容器引擎,是虛擬化的一種輕量級(jí)替代技術(shù)。Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口,開銷很低。docker解決了服務(wù)器昂貴的問(wèn)題,生產(chǎn)環(huán)境和測(cè)試環(huán)境不一致的問(wèn)題。
1).虛擬機(jī)的缺點(diǎn)
(1).資源占用多:虛擬機(jī)運(yùn)行需要大量的內(nèi)存、硬盤和CPU,而且是獨(dú)占這些資源
(2).啟動(dòng)慢:虛擬機(jī)也是個(gè)操作系統(tǒng),啟動(dòng)很慢
2).docker優(yōu)點(diǎn)
(1).體積小、占用資源少
(2).啟動(dòng)快:docker是個(gè)容器,是個(gè)進(jìn)程,既然是進(jìn)程所以啟動(dòng)比虛擬機(jī)(操作系統(tǒng))快
(3).進(jìn)程隔離:在一臺(tái)服務(wù)器上可以部署多個(gè)docker容器,而且互不干擾
(4).遷移輕松:docker可以制作鏡像進(jìn)行遷移,非常容易
1).搭建微服務(wù)環(huán)境:一個(gè)服務(wù)器可以安裝多個(gè)容器,實(shí)現(xiàn)微服務(wù),并且降低服務(wù)器成本
2).降低服務(wù)器成本:在少量的服務(wù)器上可以通過(guò)docker安裝多個(gè)容器,不用購(gòu)買多個(gè)服務(wù)器
3).提供一次性的環(huán)境:docker可以將運(yùn)行項(xiàng)目所需要的資源、環(huán)境全部集中打包在一個(gè)鏡像內(nèi),無(wú)需再去配置搭建項(xiàng)目運(yùn)行所需要的資源和環(huán)境(無(wú)需重復(fù)配置),有利于測(cè)試、開發(fā)和部署
1).image(鏡像):Docker 鏡像可以看作是一個(gè)特殊的文件系統(tǒng),提供了容器運(yùn)行時(shí)所需的程序、庫(kù)、資源、配置等文件外,還包含了一些為運(yùn)行時(shí)準(zhǔn)備的一些配置參數(shù)(環(huán)境變量、端口等),但是鏡像在構(gòu)建之后就不會(huì)被改變。
2).Container(容器):Docker 容器是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以以統(tǒng)一的方式打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何安裝了docker引擎的服務(wù)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機(jī)器和數(shù)據(jù)中心中運(yùn)行。
3).Dockerfile :Dockerfile是一個(gè)指令的集合文件,可以利用Dockerfile 制作一個(gè)鏡像
1).查詢鏡像
docker search 鏡像名稱
2).拉取鏡像
docker pull 鏡像名稱
3).啟動(dòng)容器(以tomcat作為實(shí)例)
docker run -d --name fist_tomcat --privileged=true -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime -p 8081:8080 docker.io/tomcat
-d
表示以“守護(hù)模式”執(zhí)行/root/run.sh腳本,此時(shí) Tomcat 控制臺(tái)不會(huì)出現(xiàn)在輸出終端上。
-p
表示宿主機(jī)(8081)與容器的端口映射(8080,Tomcat容器固定的端口為8080,必須映射到8080)
–name
表示容器名稱,用一個(gè)有意義的名稱命名即可。
-v
表示需要將本地哪個(gè)目錄掛載到容器中,格式:-v <宿主機(jī)目錄>:<容器目錄>
-e
運(yùn)行上海時(shí)區(qū)格式
–privileged=true
開啟特權(quán),可以設(shè)置容器里的內(nèi)核參數(shù)
-e TZ=“Asia/Shanghai”
-v /etc/localtime:/etc/localtime
都是用來(lái)解決容器時(shí)區(qū)的問(wèn)題
1).FROM 基礎(chǔ)驚喜
:基于那個(gè)鏡像作為基礎(chǔ)去構(gòu)建新的鏡像
2).COPY 源文件 目標(biāo)目錄
:復(fù)制指令,從上下文目錄中復(fù)制文件或者目錄到容器里指定路徑
3).ADD 源文件 目標(biāo)目錄
:和COPY基本一樣,但是ADD會(huì)自動(dòng)解壓壓縮包
4).RUN
:執(zhí)行命令
5).CMD
:執(zhí)行命令(和RUN類似,但二者運(yùn)行的時(shí)間點(diǎn)不同,CMD 在docker run 時(shí)運(yùn)行,RUN 是在 docker build)
(1).注意:在執(zhí)行docker run命令后,CMD命令指定的程序會(huì)被docker run后面的程序所覆蓋
(2).注意:如果 Dockerfile 中如果存在多個(gè) CMD 指令,僅最后一個(gè)生效
6).ENTRYPOINT
:類似于CMD,但是ENTRYPOINT的指令參數(shù)不會(huì)被docker run后面的指令所覆蓋
7).ENV
:設(shè)置環(huán)境變量
8).VOLUME 系統(tǒng)目錄 docker目錄
:掛載目錄,類似于-V
9).EXPOSE 8080
:聲明端口
10).WORKDIR
:類似于cd命令,進(jìn)入那個(gè)文件夾
運(yùn)行Dockerfile命令:
docker build -t 容器名稱:版本 .
.
是上下文路徑,也就是dockerFile所在的目錄
docker build -t tomcat:v1.3 .
FROM tomcat:8.5.38-jre8 ARG JAR_PATH=./target #1.刪除ROOT文件夾,避免war包不解壓,[2,3]指定時(shí)區(qū) RUN rm -rf /usr/local/tomcat/webapps/ROOT \ && /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo 'Asia/Shanghai' >/etc/timezone ADD ${JAR_PATH}/*.war /usr/local/tomcat/webapps/ROOT.war CMD ["/usr/local/tomcat/bin/catalina.sh", "run"] EXPOSE 8080
以上就是“docker怎么查詢鏡像版本信息”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。