一、寫在前面
今天帶大家在面向?qū)ο蟮囊暯窍拢斫忡R像,容器和倉庫到底是什么關(guān)系,相信大家讀完本文一定會(huì)有更深刻的理解。
注:面向?qū)ο笳Z言有很多,本文基于Java語言進(jìn)行描述
二、鏡像【類】 容器【對(duì)象】
首先創(chuàng)建一個(gè)類,用來模擬 Docker 中的一個(gè)鏡像 tomcat8,其中暴露了一個(gè)獲取版本號(hào)和啟動(dòng)的方法
/**
* 模擬 Docker 中的鏡像 Image
* 假設(shè)這個(gè)類就是一個(gè)tomcat8的鏡像
*/
public class Tomcat8 {
// 版本號(hào) 8.0
private String version = "8.0";
// 獲取版本號(hào)
public String getVersion() {
return version;
}
// 啟動(dòng)方法
public void run(){
System.out.println("Tomcat8 running...");
}
}
創(chuàng)建了一個(gè)tomcat8,相當(dāng)于docker run tomcat8 獲取容器,它是獨(dú)立的,互不影響的,于是我可以基于類模板再創(chuàng)建一個(gè) tomcat8,這樣就獲得了兩個(gè)獨(dú)立隔離的 tomcat8 服務(wù)
public class test {
public static void main(String[] args) {
// 相當(dāng)于Docker中運(yùn)行了一次鏡像,獲得了一個(gè)容器 container
// 它是獨(dú)立的,不互相影響的
Tomcat8 t1 = new Tomcat8();
// 又運(yùn)行了一次鏡像,又獲得了一個(gè)容器 container
Tomcat8 t2 = new Tomcat8();
System.out.println(t1.getVersion());
System.out.println(t2.getVersion());
t1.run();
t2.run();
}
}
看看結(jié)果,完全沒問題
8.0
8.0
Tomcat8 running...
Tomcat8 running...
三、總結(jié)鏡像和容器關(guān)系
Docker鏡像文件類似于Javaa類模板,容器實(shí)例類似于Java中new出來的實(shí)例對(duì)象
Docker | 面向?qū)ο?/th> |
---|---|
容器 | 對(duì)象 |
鏡像 | 類 |
Docker利用容器獨(dú)立運(yùn)行一個(gè)或一組應(yīng)用,應(yīng)用或服務(wù)跑再容器里,容器類似一個(gè)虛擬化的運(yùn)行環(huán)境,可以把容器看作是一個(gè)簡(jiǎn)易版的Linux環(huán)境(包含了root用戶權(quán)限,進(jìn)程空間,用戶空間和網(wǎng)絡(luò)等)
容器是用鏡像創(chuàng)建的運(yùn)行實(shí)例,就像面向?qū)ο蟮念惸0鍖?shí)例化對(duì)象一樣,容器為鏡像提供了一個(gè)隔離的運(yùn)行環(huán)境,它可以被啟動(dòng)、復(fù)制、停止、刪除,每個(gè)容器都相互隔離,保證運(yùn)行安全。
四、倉庫(repository)
倉庫(repository)是集中存放鏡像文件的
- Maven倉庫,存放管理各種 jar 包
- github倉庫,存放各種git項(xiàng)目
- Docker公司也提供了叫 docker hub的倉庫,存放各種鏡像模板
分為 共有倉庫
和 私有倉庫
兩種,官方的倉庫地址如下:https://hub.docker.com
比如想要獲取 mysql 鏡像,只需要一行命令就可以獲取了
docker pull mysql
五、全文總結(jié)
Docker是一個(gè)容器運(yùn)行載體,或者叫它容器運(yùn)行的管理者。
開發(fā)者將開發(fā)的應(yīng)用和配置依賴打包好,形成一個(gè)可交付的運(yùn)行環(huán)境,這份環(huán)境呢,就是Image鏡像文件,通過這個(gè)鏡像文件就能生成Docker容器實(shí)例,這個(gè)過程可以理解為 Java 通過 new 類模板創(chuàng)建對(duì)象。
鏡像文件是容器的模板,Docker 根據(jù)鏡像文件生成容器實(shí)例,同一個(gè)鏡像文件,可以生成多個(gè)同時(shí)且互相獨(dú)立的運(yùn)行實(shí)例。
文章來源:http://www.zghlxwxcb.cn/news/detail-806112.html
六、寫在最后
這就是全部?jī)?nèi)容了,如果覺得寫的不錯(cuò)記得點(diǎn)贊支持博主,你的支持是我寫原創(chuàng)的不竭動(dòng)力,更多精彩且關(guān)注后看下回講解,我是小周,期待你的關(guān)注??文章來源地址http://www.zghlxwxcb.cn/news/detail-806112.html
到了這里,關(guān)于面向?qū)ο笠暯窍拢斫釪ocker 鏡像容器和倉庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!