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