Docker鏡像制作之Dockerfile

      網友投稿 1092 2025-04-01

      docker包括三個基本概念

      . 鏡像(Image)

      . 容器(Container)

      . 倉庫(Repository)

      通過理解這幾個概念,可以來理解docker的整個生命周期;

      Docker鏡像:包含一個完整操作系統(比如Ubuntu),里邊安裝了用戶需要的應用程序;

      Docker容器:簡易版的Linux環境和運行在其中的應用程序;

      Docker倉庫:集中存放鏡像文件的倉庫(當前paas用了兩臺虛機用來做倉庫,cce-docker-hub*)。

      想必大家應該了解他們之間的關系了吧,Docker容器是從Docker鏡像創建的運行實例,而Docker鏡像存放在Docker倉庫中。

      Docker安裝

      安裝比較簡單,可以參考

      https://docs.docker.com/engine/installation/linux/ubuntulinux/

      Docker鏡像過程

      主要通過我這次制作Filebeat的Docker鏡像的例子,來向大家介紹整個Docker鏡像制作的過程。

      1.DockerFile制作

      下面就是用來制作filebeat鏡像的Dockerfile,幾行就搞定了,是不是很簡單啊!

      Dockerfile:

      FROM ubuntu:14.04

      MAINTAINER z00353090

      WORKDIR /opt

      RUN apt-get update

      RUN apt-get install -y supervisor

      RUN mkdir -p /opt/jobs/conf

      RUN mkdir /opt/jobs/store

      ADD filebeat /opt/jobs/

      ADD conf/supervisor_filebeat.conf /etc/supervisor/conf.d/filebeat.conf

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

      Docker鏡像制作之Dockerfile

      制作鏡像來源

      1.從Docker hub獲取已有鏡像 :docker pull ubnutu14.04

      2.利用本地文件系統導入鏡像 :cat ubuntu_14.04.tar | docker import - ubuntu:14.04 FROM ubuntu:14.04 FROM指令告訴 Docker 使用ubuntu_14.04鏡像作為基礎

      維護者的信息

      MAINTAINER z00353090

      工作目錄

      WORKDIR /opt 為后續的RUN、CMD指令配置工作目錄

      安裝軟件

      RUN開頭的指令會在創建中運行

      RUN apt-get update

      RUN apt-get install -y supervisor

      創建目錄

      RUN mkdir -p /opt/jobs/conf

      RUN mkdir /opt/jobs/store

      每條 RUN 指令將在當前鏡像基礎上執行指定命令,并提交為新的鏡像。

      拷貝文件

      ADD filebeat /opt/jobs/

      ADD conf/supervisor_filebeat.conf /etc/supervisor/conf.d/filebeat.conf

      ADD指令將本地文件拷貝到容器中

      啟動容器時執行的命令

      通過CMD指定啟動容器時執行的命令

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

      2.創建鏡像

      編寫完成 Dockerfile 之后,用 docker build 命令來創建鏡像,要指定鏡像的標簽信息,可以通過 -t選項:docker build -t filebeat:v5.0 /path/to/Dockerfile,可以通過docker images命令查看自己制作的鏡像

      3.鏡像上庫

      當用戶創建了自己的鏡像之后就可以使用 push 命令將它上傳到公有或者私有倉庫,這樣下次在另外一臺機器上使用這個鏡像時候,只需要從倉庫上 pull 下來就可以了。

      4.導出鏡像

      如果要導出鏡像到本地文件,可以使用docker save命令

      docker save –o filebeat_V5.0.tar filebeat:V5.0

      5.創建并啟動容器

      利用上面制作好的鏡像,創建并啟動容器

      docker run -d -v /path/to/log/containers:/opt/store/log/containers/ \

      -v /path/to/log/component:/opt/store/log/component/ \

      -v /path/to/filebeat/config:/opt/jobs/conf filebeat:V5.0

      -d選項是指定后臺運行

      -v選項將主機目錄掛載到容器,通過該目錄來共享文件

      容器創建成功后會有一個containerID生成,因為我通過CMD指定啟動容器時執行的命令,所以docker ps會發現有,如下圖所示

      轉載請注明出處:華為云博客 https://portal.hwclouds.com/blogs

      Docker 鏡像服務

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格怎么對文字列進行分割
      下一篇:表格內容較長,超過第一頁的部分不顯示(word文檔表格內容過多填寫超出第一頁)
      相關文章
      亚洲综合色婷婷在线观看| 亚洲va无码专区国产乱码| 久久亚洲精品国产精品黑人| 中文字幕亚洲激情| 亚洲一级特黄大片无码毛片| 国产精品观看在线亚洲人成网| 亚洲妇女无套内射精| 亚洲熟女乱色一区二区三区 | 亚洲不卡中文字幕| 亚洲精品无码久久毛片波多野吉衣 | 亚洲人成人无码网www国产| 国产精品亚洲专区在线播放| 国产成人亚洲综合在线| 无码一区二区三区亚洲人妻| 国产偷国产偷亚洲高清在线| 亚洲AV无码乱码在线观看| 国产成人综合亚洲一区| 亚洲国产精品一区二区三区久久| 亚洲AV无码精品国产成人| 狠狠入ady亚洲精品| 亚洲精品国产精品乱码不卞| 亚洲精品第一国产综合境外资源| 亚洲国产精品狼友中文久久久| 亚洲欧洲日产国码高潮αv| 亚洲欧洲精品成人久久奇米网| 亚洲另类激情专区小说图片| 亚洲情侣偷拍精品| 亚洲欧洲日产国码av系列天堂| 国产亚洲综合色就色| 亚洲精品无码不卡| 亚洲精品午夜视频| 97se亚洲国产综合自在线| 亚洲人成网站色7799| 天堂亚洲免费视频| 久久亚洲中文字幕精品一区四 | 久久久无码精品亚洲日韩软件| 亚洲自偷自偷在线制服| 亚洲AV天天做在线观看| 亚洲理论片在线观看| 亚洲一区二区三区在线观看网站| 亚洲AV永久无码天堂影院|