欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Docker的示例分析

這篇文章將為大家詳細(xì)講解有關(guān)Docker的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

墨竹工卡ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

Docker是什么

Docker是什么?

官網(wǎng)首頁的介紹:

Enterprise Container Platform for High-Velocity Innovation. Securely build, share and run any application, anywhere

百度百科告訴我們:

Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。

《第一本DOCKER書》的簡介:

Docker是一個能夠把開發(fā)的應(yīng)用程序自動部署到容器的開源引擎。由Docker公司(www.docker.com,前dotCloud公司,PaaS市場中的老牌供應(yīng)商)的團(tuán)隊編寫,基于Apache 2.0開源協(xié)議發(fā)行。

Docker的特別之處:

Docker是輕量級的虛擬化技術(shù),啟動速度快(大多數(shù)Docker容器只需不到1s即可完成啟動),單臺硬件上可以同時跑成百上千個容器,使得快速擴(kuò)展,彈性伸縮變得簡單。據(jù)說,在2016年,京東使用15萬Docker集群來保證618高并發(fā)場景下的系統(tǒng)穩(wěn)定。

Docker是跨平臺的,支持Windows、Macos、Linux,可以做到“構(gòu)建一次,到處運行”,解決開發(fā)環(huán)境和生產(chǎn)環(huán)境不一致帶來的一系列問題,讓開發(fā)人員和運維人員可以更加和諧相處。

Docker是開源的,托管于GitHub。

Docker思想

從docker的logo聯(lián)想docker核心思想

Docker的示例分析

Docker的logo是一個載著集裝箱的大鯨魚,這絕對是對Docker最形象的描述和解釋。

對比運輸業(yè),在集裝箱出現(xiàn)之前,貨物無法用統(tǒng)一的標(biāo)準(zhǔn)方式進(jìn)行搬運,比如有些貨物易碎,需要輕拿輕放,有些則不需要。于是鐵路、公路、海洋等各種運輸之間,需要大量的人力作為貨物中轉(zhuǎn),效率極低,而且成本很高。集裝箱出現(xiàn)之后,解決了這個難題,任何貨物貨物都可以放到這個神奇的箱子里,然后在公路、鐵路、海洋等所有運輸場景下,這個箱子在運輸過程中都是密封的,而且中間的中轉(zhuǎn)工作,都可以通過大型機(jī)械搞定,效率大大提升。

Docker正式借鑒了標(biāo)準(zhǔn)集裝箱的思想,將集裝箱思想運用到了軟件領(lǐng)域。Docker為代碼提供了一個基于容器的標(biāo)準(zhǔn)化運輸系統(tǒng),可以將任何應(yīng)用及其依賴的環(huán)境(如代碼、配置文件、JDK、Tomcat等)打包成一個容器,這個容器可以在幾乎所有的操作系統(tǒng)運行。

Docker核心概念

鏡像

鏡像是docker的基石,用戶可以基于鏡像來運行自己的容器。

鏡像的基礎(chǔ)是Docker的聯(lián)合文件系統(tǒng),該文件系統(tǒng)是分層的,每個鏡像是一個層。由于每個層上面還以有其他層,也就是說,鏡像可以在其他鏡像(基礎(chǔ)鏡像)上面進(jìn)行創(chuàng)建。借用一幅圖來幫助理解。圖片來源于網(wǎng)絡(luò),侵刪。

Docker的示例分析

倉庫

倉庫是保存用戶鏡像的地方,docker官方倉庫地址為 https://hub.docker.com。在Docker Hub上面有許多鏡像,包括最簡單的hello-world,MySQL等等。當(dāng)然我們也可以有自己私有的倉庫。

容器

容器為應(yīng)用程序提供了隔離的運行空間。每個容器內(nèi)都包含一個獨享的完整的用戶環(huán)境,并且一個容器內(nèi)的運行環(huán)境變動不會影響其他容器的運行環(huán)境,可以使應(yīng)用程序在幾乎任何地方以相同的方式運行。

容器是基于鏡像啟動的,容器中可以運行一個或多個進(jìn)程。在創(chuàng)建容器進(jìn)程時,指定了這個進(jìn)程所需要的Namespace參數(shù),使得容器就只能「看」到當(dāng)前 Namespace 所限定的資源、文件、設(shè)備、狀態(tài),或者配置。所以說,容器是一種特殊的進(jìn)程而已,容器的本質(zhì)就是進(jìn)程。

Docker安裝

以CentOS 7為例,進(jìn)行安裝Docker。

檢查系統(tǒng)內(nèi)核版本

Docker運行在 CentOS 7上,要求操作系統(tǒng)為 64 位,內(nèi)核版本為 3.10 及以上。

確認(rèn)本機(jī)已經(jīng)安裝了滿足要求的Linux內(nèi)核。使用命令uname -r來檢查內(nèi)核版本信息。

[root@localhost ~]# uname -r
3.10.0-957.el7.x86_64

在CentOS 7中安裝Docker

使用命令yum install -y docker安裝Docker,“-y”表示不詢問,使用默認(rèn)配置進(jìn)行安裝。

啟動Docker服務(wù),并設(shè)置為開機(jī)自啟動

使用下列命令:

systemctl start docker.service
systemctl enable docker.service

輸入docker version,返回版本信息表明Docker安裝成功。

[root@localhost ~]# docker version
Client:
 Version:     1.13.1
 API version:   1.26
 Package version: docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
 Go version:   go1.10.3
 Git commit:   b2f74b2/1.13.1
 Built:      Wed May 1 14:55:20 2019
 OS/Arch:     linux/amd64

Server:
 Version:     1.13.1
 API version:   1.26 (minimum version 1.12)
 Package version: docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
 Go version:   go1.10.3
 Git commit:   b2f74b2/1.13.1
 Built:      Wed May 1 14:55:20 2019
 OS/Arch:     linux/amd64
 Experimental:  false

Docker實戰(zhàn)——Hello World

入門實戰(zhàn)怎么能少得了經(jīng)典的“Hello World”?

拉取鏡像

其實DockerHub上已經(jīng)有了這個鏡像,名字叫“hello-world”。直接從DockerHub拉取鏡像,命令和Git有些相似:docker pull hello-world

[root@localhost docker]# docker pull hello-world
Using default tag: latest
Trying to pull repository docker.io/library/hello-world ... 
latest: Pulling from docker.io/library/hello-world
1b930d010525: Pull complete 
Digest: sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8
Status: Downloaded newer image for docker.io/hello-world:latest

查看鏡像

查看拉取到的Docker鏡像:docker images

[root@localhost ~]# docker images
REPOSITORY       TAG         IMAGE ID      CREATED       SIZE
docker.io/hello-world  latest       fce289e99eb9    5 months ago    1.84 kB

運行鏡像

運行鏡像:docker run hello-world。看到打印出如下的內(nèi)容,代表運行成功。

[root@localhost docker]# docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
  (amd64)
 3. The Docker daemon created a new container from that image which runs the
  executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
  to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Docker常用命令

docker images : 列出本地的鏡像

docker pull image_name:拉取鏡像。如果沒有指定具體的鏡像標(biāo)簽,會自動拉取latest標(biāo)簽的鏡像。

docker search image_name:在Docker Hub上查找鏡像

docker start container:啟動和運行容器

docker run [OPTIONS] image_name:基于鏡像創(chuàng)建并啟動一個容器

常用選項:
-d: 后臺運行容器,并返回容器ID;
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
-P: 隨機(jī)端口映射,容器內(nèi)部端口隨機(jī)映射到主機(jī)的高端口
-p: 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口

docker logs container:獲取容器的日志信息

docker attach container:進(jìn)入容器

exit:退出容器

docker exec container command:在運行的容器中執(zhí)行命令

docker stop container:停止容器

docker rm container:刪除容器

docker save -o image_name.tar image_name:導(dǎo)出鏡像

docker ps:查看正在運行的容器

docker ps -a:查看系統(tǒng)中容器列表

docker top container:查看容器內(nèi)的進(jìn)程

docker stop daemon_dave:停止守護(hù)容器

Docker構(gòu)建鏡像

如何構(gòu)建鏡像?

構(gòu)建一個自己的鏡像需要兩步:

編寫Dockerfile。Dockerfile 告訴Docker如何制作鏡像以及每一步是怎樣的。

  • Docker執(zhí)行Dockerfile中的指令的流程是這樣的:

    • Docker從基礎(chǔ)鏡像運行一個容器

    • 執(zhí)行一條指令,對容器進(jìn)行修改

    • 提交到一個新的鏡像層

    • Docker再基于剛才提交的鏡像運行一個新容器

    • 執(zhí)行Dockerfile中的下一條指令,知道所有指令執(zhí)行完畢。

  • 使用docker build命令構(gòu)建。

編寫Dockerfile

每個Dockerfile的第一條命令必須是FROM。FROM指令指定一個已經(jīng)存在的鏡像,告訴Docker后續(xù)的指令都是在這個基礎(chǔ)上進(jìn)行的。例如:FROM java:8

MAINTAINER 指令用來標(biāo)志該鏡像所有者和聯(lián)系方式。例如:MAINTAINER James "×××@example.com"

VOLUME 指令用來向基于鏡像創(chuàng)建的容器添加卷。一個卷可以是存在一個或者多個容器內(nèi)的特定的目錄,這個目錄可以繞過聯(lián)合文件系統(tǒng),并提供共享數(shù)據(jù)和數(shù)據(jù)持久化的功能。

CMD 指令用來指定一個容器啟動時要運行的命令。

ENTRYPOINT指令與CMD指令很相似。

WORKDIR 指令用來從鏡像創(chuàng)建一個新容器的時候,在容器內(nèi)部設(shè)置一個工作命令,ENTRYPOINT或CMD指令指定的程序會在這個目錄下執(zhí)行。

ENV 指令用來在在鏡像構(gòu)建過程中設(shè)置環(huán)境變量。例如:ENV TEST_PATH /home/test

RUN 指令用來在當(dāng)前鏡像中運行指定的命令。例如:RUN apt-get install -y nginx

EXPOSE 指令用來告訴Docker該容器內(nèi)的應(yīng)用程序?qū)⑹褂萌萜鞯闹付ǘ丝凇@纾?code>EXPOSE 80

ADD 指令用來將構(gòu)建環(huán)境下的文件和目錄復(fù)制到鏡像中。 例如:ADD docker-0.0.1-SNAPSHOT.jar app.jar

COPY 指令與ADD 類似,不同點在與COPY只關(guān)心在構(gòu)建上下文中復(fù)制本地文件,而不會提取和解壓。

LABEL 指令用于為Docker鏡像添加元數(shù)據(jù)。例如:LABEL name=test description="a container is used to test"

Dockerfile實例:

FROM java:8
MAINTAINER James "×××@example.com"
VOLUME /tmp
ADD docker-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

執(zhí)行docker build

執(zhí)行docker build命令后看到“BUILD SUCCESS”表明構(gòu)建成功,可以使用docker run命令來運行了。

關(guān)于“Docker的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網(wǎng)站欄目:Docker的示例分析
文章位置:http://aaarwkj.com/article38/iijepp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、營銷型網(wǎng)站建設(shè)、面包屑導(dǎo)航、網(wǎng)站營銷手機(jī)網(wǎng)站建設(shè)、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
91欧美日韩中在线视频| 九九久久精品久久久精品 | 性生活视频在线观看免费| 色哟国产传媒视频在线观看| 麻豆一精品传二传媒短视频| 亚洲欧美日韩颜射极品| 亚洲午夜精品久久久天堂| 精品久久激情中文字幕| 白浆视频在线免费观看| 精品国产品国语在线不卡| 青青草原这里只有精品| 夫妻性生活视频一级片| 亚洲熟女内射特写一区| 国内精品偷拍一区二区三区| 97在线资源视频播放| 色呦呦中文字幕在线播放| 一区二区三区乱码国产| 国产午夜视频在线观看一区| 国产精品亚洲伦理在线| 先锋av一区二区三区| 女同伦理视频在线观看| 国内激情自拍偷拍视频| av毛片高清在线观看| 国产精品白嫩初高中害羞小美女| 日本在线高清不卡免费播放| 人人妻人人澡人人爽人人老司机 | 日韩一区二区亚洲精品| 一本色道久久88综合日韩| 午夜精品一区二区三区久久| 亚洲老司机深夜福利| 国产白丝诱惑在线视频| 亚洲天堂欧美天堂淫人天堂| 粉嫩极品国产在线观看| 综合av在线一区天堂| 高清偷自拍亚洲精品三区| 蜜臀av首页在线观看| 熟女一区二区三区免费视频| 韩国av高清在线观看| 开心五月婷婷六月丁香| 亚洲美女香蕉视频在线| 亚洲视频在线视频看视频在线 |