国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

理解Docker(2):Docker 鏡像詳細介紹

2019-11-02 16:27:50
字體:
來源:轉載
供稿:網友

本系列文章將介紹Docker的有關知識:

(1)Docker 安裝及基本用法

(2)Docker 鏡像

(3)Docker 容器的隔離性 - 使用 Linux namespace 隔離容器的運行環境

(4)Docker 容器的隔離性 - 使用 cgroups 限制容器使用的資源

(5)Docker 網絡

對于每個軟件,除了它自身的代碼以外,它的運行還需要有一個運行環境和依賴。不管這個軟件是象往常一樣運行在物理機或者虛機之中,還是運行在現在的容器之中,這些都是不變的。在傳統環境中,軟件在運行之前也需要經過 代碼開發->運行環境準備 -> 安裝軟件 -> 運行軟件 等環節,在容器環境中,中間的兩個環節被鏡像制作過程替代了。也就是說,鏡像的制作也包括運行環境準備和安裝軟件等兩個主要環節,以及一些其他環節。因此,Docker 容器鏡像其實并沒有什么新的理論,只是這過程有了新的方式而已。

  鏡像(image)是動態的容器的靜態表示(specification),包括容器所要運行的應用代碼以及運行時的配置。Docker 鏡像包括一個或者多個只讀層( read-only layers ),因此,鏡像一旦被創建就再也不能被修改了。一個運行著的Docker 容器是一個鏡像的實例( instantiation )。從同一個鏡像中運行的容器包含有相同的應用代碼和運行時依賴。但是不像鏡像是靜態的,每個運行著的容器都有一個可寫層( writable layer ,也成為容器層 container layer),它位于底下的若干只讀層之上。運行時的所有變化,包括對數據和文件的寫和更新,都會保存在這個層中。因此,從同一個鏡像運行的多個容器包含了不同的容器層。

 Docker 有兩種方式來創建一個容器鏡像:

創建一個容器,運行若干命令,再使用 docker commit 來生成一個新的鏡像。不建議使用這種方案。 創建一個 Dockerfile 然后再使用 docker build 來創建一個鏡像。大多人會使用 Dockerfile 來創建鏡像。

1. docker build 生成鏡像

1.1 生成過程實例

 在使用 Dockerfile 創建容器之前,需要先準備一個 Dockerfile 文件,然后運行 docker build 命令來創建鏡像。我們通過下面的例子來看看Docker 創建容器的過程。

 FROM ubuntu:14.04MAINTAINER sammy "sammy@sammy.com"RUN apt-get updateRUN apt-get -y install ntpEXPOSE 5555CMD ["/usr/sbin/ntpd"]

這是一個非常簡單的Dockerfile,它的目的是基于 Ubuntu 14.04 基礎鏡像安裝 ntp 從而生成一個新的鏡像??纯雌溥^程:

root@devstack:/home/sammy/ntponubuntu# docker build -t sammy_ntp2 .Sending build context to Docker daemon 2.048 kBStep 1 : FROM ubuntu:14.04 ---> 4a725d3b3b1cStep 2 : MAINTAINER sammy "sammy@sammy.com" ---> Using cache ---> c4299e3f774cStep 3 : RUN apt-get update ---> Using cache ---> 694a19d54103Step 4 : RUN apt-get -y install ntp ---> Running in 9bd153c65a76Reading package lists......Fetched 561 kB in 10s (51.1 kB/s)Selecting previously unselected package libedit2:amd64.(Reading database ... 11558 files and directories currently installed.)...Processing triggers for libc-bin (2.19-0ubuntu6.9) ...Processing triggers for ureadahead (0.100.0-16) ... ---> 9cc05cf6f48dRemoving intermediate container 9bd153c65a76Step 5 : EXPOSE 5555 ---> Running in eb4633151d98 ---> f5c96137bec9Removing intermediate container eb4633151d98Step 6 : CMD /usr/sbin/ntpd ---> Running in e81b1eae3678 ---> af678df648bcRemoving intermediate container e81b1eae3678Successfully built af678df648bc
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴江市| 新泰市| 翁源县| 信宜市| 商洛市| 平原县| 松江区| 筠连县| 旅游| 股票| 营口市| 望城县| 舟曲县| 白朗县| 柯坪县| 怀安县| 荔波县| 防城港市| 封开县| 丹凤县| 静乐县| 汉阴县| 涿鹿县| 开原市| 丰顺县| 彰化县| 安远县| 始兴县| 鄂州市| 广宁县| 东海县| 天峻县| 栾城县| 石嘴山市| 和硕县| 蓝田县| 义乌市| 阿克陶县| 湖北省| 河东区| 同江市|