成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【Docker實(shí)戰(zhàn)之入門】Dockerfile詳細(xì)分析:構(gòu)建docker鏡像(1)基礎(chǔ)鏡像cento

learn_shifeng / 1472人閱讀

摘要:如果有服務(wù)器需要維護(hù)重啟時(shí),也會(huì)重啟,此時(shí)端口會(huì)發(fā)生變化,仍然會(huì)隨機(jī)拿一個(gè)沒有使用的端口號(hào)來(lái)和號(hào)端口做端口映射。除非該刪掉后,端口號(hào)會(huì)被分配給其他使用。

Dockerfile

Docker是軟件工業(yè)上的集裝箱技術(shù)。

通過(guò)以下文件制作Docker鏡像

[root@Optimus docker-training]# cd centos7/
[root@Optimus centos7]# ls
aliyun-epel.repo  aliyun-mirror.repo  Dockerfile  supervisord.conf 

Dockerfile 自動(dòng)構(gòu)建docker鏡像的配置文件,類似于Linux下shell命令。

[root@Optimus centos7]# vim Dockerfile 

#
# MAINTAINER        Carson,C.J.Zeong 
# DOCKER-VERSION    1.6.2
#
# Dockerizing CentOS7: Dockerfile for building CentOS images
#
FROM       centos:centos7.1.1503
MAINTAINER Carson,C.J.Zeong 

ENV TZ "Asia/Shanghai"
ENV TERM xterm

ADD aliyun-mirror.repo /etc/yum.repos.d/CentOS-Base.repo
ADD aliyun-epel.repo /etc/yum.repos.d/epel.repo

RUN yum install -y curl wget tar bzip2 unzip vim-enhanced passwd sudo yum-utils hostname net-tools rsync man && 
   yum install -y gcc gcc-c++ git make automake cmake patch logrotate python-devel libpng-devel libjpeg-devel && 
   yum install -y --enablerepo=epel pwgen python-pip && 
   yum clean all

RUN pip install supervisor
ADD supervisord.conf /etc/supervisord.conf

RUN mkdir -p /etc/supervisor.conf.d && 
   mkdir -p /var/log/supervisor

EXPOSE 22

ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]  

[FROM]指令指定基礎(chǔ)鏡像(副鏡像)centos:centos7.1.1503.

[MAINTAINER]說(shuō)明docker鏡像的維護(hù)者。

[ENV](environment環(huán)境)這里設(shè)置了時(shí)區(qū)的環(huán)境變量TZ "Asia/Shanghai",環(huán)境變量可以多個(gè)。

[ADD] 在Dockerfile中有兩條指令可以進(jìn)行copy文件,一個(gè)是ADD,一個(gè)是COPY。都可以復(fù)制本地文件到container中。
ADD比COPY多兩個(gè)功能:

1. 可以ADD一個(gè)在WebServer上的文件,在ADD后面aliyun-mirror.repo處直接寫上鏈接地址,即可把文件copy到container(/etc/yum.repos.d/CentOS-Base.repo)里面。
2. 解壓:有一個(gè)壓縮包,不用進(jìn)入到container中運(yùn)行tar命令手動(dòng)解壓,用ADD命令可以自動(dòng)解壓。

[RUN] 指令后面可以寫任何一條命令,RUN會(huì)將該命令放到Linux Shell下去執(zhí)行。在這里,RUN指令用來(lái)安裝一些基礎(chǔ)的工具和軟件。
在Dockerfile build docker鏡像的時(shí)候,每執(zhí)行一條指令,都會(huì)生成docker鏡像的一層(分層layer技術(shù)),最后生成的鏡像由很多個(gè)layer組合而成。

[RUN pip install supervisor] 在制作docker鏡像的時(shí)候,會(huì)考慮到制作完成后能運(yùn)行一個(gè)什么樣的容器,如運(yùn)行一個(gè)PHP服務(wù)或者Linux服務(wù)。那么,此時(shí)需要一個(gè)進(jìn)程管理工具supervisor來(lái)管理進(jìn)程。運(yùn)行單個(gè)進(jìn)程可以不用supervisor。

[ADD supervisord.conf /etc/supervisord.conf] 添加supervisor的配置文件到/etc目錄下。

[RUN mkdir -p /etc/supervisor.conf.d]創(chuàng)建supervisor.conf.d目錄,在這里存放啟動(dòng)其他服務(wù)的配置文件。/var/log/supervisor是存放supervisor的日志目錄。

[EXPOSE 22] 比如container想暴露22端口給宿主機(jī),宿主機(jī)會(huì)拿一個(gè)端口與container的22端口去映射,如2222端口號(hào),那么可以使用服務(wù)器的IP地址,連接的時(shí)候端口號(hào)是2222,就可以連接到container(docker容器)里面。

[ENTRYPOINT] 在dockerfile中只有最后一條ENTRYPOINT會(huì)生效。container每次啟動(dòng)的時(shí)候,都會(huì)執(zhí)行該命令。/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf開啟supervisor服務(wù),加載主要的配置文件。

構(gòu)建docker鏡像

使用dockerfile生成docker鏡像

docker build

給要構(gòu)建的docker鏡像起一個(gè)名字

docker build -t   

docker鏡像完整的命名規(guī)則

docker build -t registry_url/namespace/csphere/centos:7.1   

版本號(hào)

centos:版本號(hào)

若不寫版本號(hào),則會(huì)自動(dòng)加上latest標(biāo)簽?zāi)J(rèn)為 centos:latest 

指定dockerfile

docker build -t csphere/centos:7.1 .  

若dockerfile在當(dāng)前目錄下,則使用 .來(lái)指定;否則使用相對(duì)路徑/path.

查看鏡像

docker images   

可以查看本地有哪些鏡像,鏡像的名字REPOSTORY、TAG、IMAGE ID、創(chuàng)建時(shí)間CREATED、鏡像大小VIRTUA.
生成docker容器

生成docker容器

docker run

通過(guò)以上創(chuàng)建好的docker鏡像,執(zhí)行run指令可生成docker容器。(此時(shí)退出/centos7目錄,回到根目錄下)

查看run參數(shù)

docker help run

查看run有哪些參數(shù)

交互式模

docker run -it

啟動(dòng)docker容器container時(shí) 是交互式模式,把container啟動(dòng)到前臺(tái)。

后端啟動(dòng)

docker run -d 

把container在后端啟動(dòng),啟動(dòng)后,返回一個(gè)container的ID號(hào)。

端口映射-P

docker run -d -P 2222:222  

在dockerfile中有一個(gè)指令EXPOSE 22,暴露出22號(hào)端口。在前端,宿主機(jī)會(huì)分配一個(gè)沒有使用的端口號(hào),如2222,來(lái)進(jìn)行端口映射。那么,可以用2222端口連接container。如果有服務(wù)器需要維護(hù)重啟時(shí),container也會(huì)重啟,此時(shí)2222端口會(huì)發(fā)生變化,仍然會(huì)隨機(jī)拿一個(gè)沒有使用的端口號(hào)來(lái)和22號(hào)端口做端口映射。

端口映射-p

docker run -d -p 2222:22   

不管是宿主機(jī)重啟還是container重啟,2222端口一直給這個(gè)container。除非該container刪掉后,2222端口號(hào)會(huì)被分配給其他container使用。

容器名

docker run -d -p 2222:22 --name base 

在通過(guò)docker鏡像生成docker容器時(shí),--name用于給容器起名字,這里起名為base,方便以后查找。

指定docker鏡像

docker run -d -p 2222:22 --name base csphere/centos:7.1 

指明docker鏡像,這里使用csphere/centos:7.1  docker鏡像生成叫做`base`的docker容器。返回container的長(zhǎng)ID號(hào),如2d36dbfc72a045725b845771bdeb8ff0acc0845eb7d39d09e5f8025237b0d9c9。

查看container

docker ps -a  

不加參數(shù)時(shí),默認(rèn)只會(huì)顯示處于running下的container。-a可查看退出狀態(tài)下/非up狀況下的container等當(dāng)前本地所有的container。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27110.html

相關(guān)文章

  • Docker實(shí)戰(zhàn)入門Dockerfile詳細(xì)分析構(gòu)建docker鏡像(2)中間件鏡像

    摘要:構(gòu)建鏡像時(shí),首先要有一個(gè)基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個(gè)應(yīng)用鏡像。現(xiàn)在作為基礎(chǔ)鏡像,下面來(lái)構(gòu)建兩個(gè)中間件鏡像鏡像具有和能力的鏡像。同時(shí),用文件覆蓋默認(rèn)的配置文件。構(gòu)建鏡像查看鏡像以上鏡像已經(jīng)做好了。 以上已經(jīng)構(gòu)建好了一個(gè)基礎(chǔ)的docker鏡像centos7。 構(gòu)建docker鏡像時(shí),首先 要有一個(gè)基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個(gè)應(yīng)用鏡像。 現(xiàn)在centos7作為基礎(chǔ)鏡...

    neuSnail 評(píng)論0 收藏0
  • Docker實(shí)戰(zhàn)入門Dockerfile詳細(xì)分析構(gòu)建docker鏡像(2)中間件鏡像

    摘要:構(gòu)建鏡像時(shí),首先要有一個(gè)基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個(gè)應(yīng)用鏡像?,F(xiàn)在作為基礎(chǔ)鏡像,下面來(lái)構(gòu)建兩個(gè)中間件鏡像鏡像具有和能力的鏡像。同時(shí),用文件覆蓋默認(rèn)的配置文件。構(gòu)建鏡像查看鏡像以上鏡像已經(jīng)做好了。 以上已經(jīng)構(gòu)建好了一個(gè)基礎(chǔ)的docker鏡像centos7。 構(gòu)建docker鏡像時(shí),首先 要有一個(gè)基礎(chǔ)鏡像,然后有中間件鏡像,最后生成一個(gè)應(yīng)用鏡像。 現(xiàn)在centos7作為基礎(chǔ)鏡...

    susheng 評(píng)論0 收藏0
  • Docker實(shí)戰(zhàn)入門Dockerfile詳細(xì)分析(5):ENTRYPOINT和CMD命令的區(qū)別

    摘要:用法在當(dāng)中只有最后一條生效,其他都不生效第一種寫法類似數(shù)組形式,推薦使用。第二章方法執(zhí)行命令啟動(dòng)的進(jìn)程,該進(jìn)程的為執(zhí)行完這個(gè)的。命令覆蓋掉了中的命令,直接進(jìn)入到了中。刪除鏡像前,先停止。 ENTRYPOINT用法showImg(https://segmentfault.com/img/bVXNu5?w=702&h=322); entrypoint在dockerfile當(dāng)中只有最后一條生...

    JerryWangSAP 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<