真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Docker鏡像管理

docker鏡像的分層

1.Dockerfile中的每個(gè)指令都會創(chuàng)建一個(gè)新的鏡像層
2.鏡像層將被緩存和復(fù)用
3.當(dāng)Dockerfile的指令修改了,復(fù)制的文件變化了,或者構(gòu)建鏡像時(shí)指定的變量不同了,對應(yīng)的鏡像層緩存就會失效
4.某一層的鏡像緩存失效之后,它之后的鏡像層緩存都會失效
5.鏡像層是不可變的,如果在某一層中添加一個(gè)文件,然后在下一層中刪除它,則鏡像中依然會包含該文件


Docker鏡像的創(chuàng)建

Docker鏡像

 是應(yīng)用發(fā)布的標(biāo)準(zhǔn)格式
 可支撐一個(gè)Docker容器的運(yùn)行

Docker鏡像的創(chuàng)建方法

基于已有鏡像創(chuàng)建
基于本地模板創(chuàng)建
基于Dockerfile創(chuàng)建

1.基于已有鏡像創(chuàng)建

將容器里面運(yùn)行的程序及運(yùn)行環(huán)境打包生成新的鏡像
docker commit [選項(xiàng)] 容器ID/名稱 倉庫名稱:[標(biāo)簽]
選項(xiàng):
-m說明信息
-a作者信息
-p生成過程中停止容器的運(yùn)行

2.基于本地模板創(chuàng)建

通過導(dǎo)入操作系統(tǒng)模板文件生成新的鏡像
使用wget命令導(dǎo),入為本地鏡像
Wqet http://download.openvz.org/template/ precreated/debian-7.0-x86-minimal.tar.gz
導(dǎo)入成功后可查看本地鏡像信息
docker images |grep new

3.基于FDockerfile創(chuàng)建

Dockerfile是由一組指令組成的文件
Dockerfile結(jié)構(gòu)四部分
     基礎(chǔ)鏡像信息
     維護(hù)者信息
     鏡像操作指令
     容器啟動時(shí)執(zhí)行指令
使用Dockerfile創(chuàng)建鏡像并在容器中運(yùn)行

Dockerfile操作指令

指令含義
FROM鏡像 指定新鏡像所基于的鏡像,第一條指令必須為FROM指令,每創(chuàng)建一個(gè)鏡像就需要一條FROM指令 。
MAINTAINER名字 說明新鏡像的維護(hù)人信息
RUN命令 在所基于的鏡像上執(zhí)行命令,并提交到新的鏡像中
CMD[“要運(yùn)行的程序”,”參數(shù)1”,”參數(shù)2”] 指令啟動容器時(shí)要運(yùn)行的命令或者腳本,Dockerfile只能有一條CMD命令,如果指定多條則只能最后一條被執(zhí)行
EXPOSE端口號 指定新鏡像加載到Docker時(shí)要開啟的端口
ENV環(huán)境變量 變量值 設(shè)置一個(gè)環(huán)境變量的值,會被后面的RUN使用
ADD源文件/目錄 目標(biāo)文件/目錄 將源文件復(fù)制到目標(biāo)文件,源文件要與Dockerfile位于相同目錄中, 或者是一個(gè)URL
COPY源文件/目錄 目標(biāo)文件/目錄 將本地主機(jī)上的文件/目錄復(fù)制到目標(biāo)地點(diǎn),源文件/目錄要與Dockerfile在相同的目錄中
VOLUME[“目錄”] 在容器中創(chuàng)建一個(gè)掛載點(diǎn)
USER用戶名/UID 指定運(yùn)行容器時(shí)的用戶
WORKDIR路徑 為后續(xù)的RUN、CMD、ENTRYPOINT指定 工作目錄
ONBUILD命令 指定所生成的鏡像作為一個(gè)基礎(chǔ)鏡像時(shí)所要運(yùn)行的命令
HEALTHCHECK 健康檢查

實(shí)例演示:

1.基于己有的鏡像容器進(jìn)行創(chuàng)建

#創(chuàng)建容器
docker create- it jasonlix/ docker- cobbler /bin/ bash

docker commit -m "new" -a "daoke" c83aee844ae0 daoke:test

docker images| grep daoke

2.基于本地模板創(chuàng)建

wget http://dlownload.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz

cat debian-7.0-x86-minimal.tar.gz| docker import - daoke:new

docker images|grep new

3.私有倉庫建立

docker pull registry

vim /etc/dockerdaemon.json

#添加以下內(nèi)容,修改地址
"insecure-registries": ["IP地址:5000"],

systemctl restart docker.service

docker create -it registry /bin/bash

docker ps -a

docker start 庫ID

#宿主機(jī)的/data/registry自動創(chuàng)建掛載容器中的/tmp/registry
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry

#宿主機(jī)的/ data/registry自動創(chuàng)建掛載容器中的/tmp/ registry
docker run -d- P 5000:5000 -v /data/registry:/tmp/registry registry

#更改標(biāo)記為192.168. 195. 128: 5000/nginx
docker tag nginx:latest IP地址:5000/nginx

#上傳
docker push IP地址: 5000/nginx

#獲取私有倉庫列表
curlI -XGET http://IP地址:5000/v2/_catalog

#顯示上傳成功
{"repositories" :["nginx"]}

#測試私有倉庫下載
docker pul1 IP地址:5000/nginx

4.端口映射

docker run -d -P httpd:centos
docker run -d -p 49280:80 httpd: centos
docker ps -a

5.容器互聯(lián)

#創(chuàng)建并運(yùn)行容器取名web1,端口號自動映射
docker run -itd -P --name web1 centos /bin/bash 

#創(chuàng)建并運(yùn)行容器取名web2
docker run -itd -P --name web2 --link webl:web1 centos /bin/bash 

進(jìn)web2容器ping web1

6.Dockerfile文件

mkdir apache

cd apache

vim Dockerfile

#基于的基礎(chǔ)鏡像
FROM centos

#維護(hù)鏡像的用戶信息
MAINTAINER The porject 

#鏡像操作指令安裝apache軟件
RUN yum -y update
RUN yum -y install httpd

#開啟80端口
EXPOSE 80 

#復(fù)制網(wǎng)站首頁文件
ADD index.html /var/www/html/index.html

#將執(zhí)行腳本復(fù)制到鏡像中
ADD run.sh /run.sh
RUN chmod 755 /run.sh

#啟動容器時(shí)執(zhí)行腳本
CMD ["/run.sh"]

vim run.sh

#!/bin/bash
rm -rf /run/httpd/*
exec /usr/sbin/apachectl -D FOREGROUND

echo "web test" > index.html

#生成鏡像
docker build -t httpd:centos .

#新鏡像運(yùn)行容器
docker run -d -p 1216:80 httpd:centos

#測試并服務(wù)網(wǎng)頁
http://192.168.142.131:1216/

Docker鏡像管理

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)建站專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都雨棚定制等企業(yè)提供專業(yè)服務(wù)。


標(biāo)題名稱:Docker鏡像管理
分享路徑:http://weahome.cn/article/gcscec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部