日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

首先應該了解Docker鏡像的分層機制,這個網上文章很多,簡單說就是對鏡像的每次修改都是在原鏡像基礎上加了一層包裝;

構建自己的docker鏡像有兩種方式;

一種是在啟動容器后,直接對容器進行操作,然后commit,好處是方便直觀,但會導致很多中間層,且不好追溯,所以不推薦這樣用;

另一種是編輯dockerfile,然后通過docker build生成鏡像,下面詳細說說如何使用dockerfile構建一個帶jdk的centos鏡像;

先準備一個文件夾img,把需要的文件放到子文件夾resource中,這里還拿了一個rpm文件演示如何安裝,如下:

img/

├── Dockerfile

└── resource

├── jdk1.7.0_65

├── nc-1.84-22.el6.x86_64.rpm

文件Dockerfile的內容如下:

FROM daocloud.io/centos:latest
COPY resource /usr/local
RUN cd /usr/local 
 && rpm -ivh nc-1.84-22.el6.x86_64.rpm 
 && yum install which -y 
 && rm -rf nc-1.84-22.el6.x86_64.rpm 
 && yum clean all
ENV JAVA_HOME=/usr/local/jdk1.7.0_65/jre
ENV CLASSPATH=.:$JAVA_HOME/lib 
 PATH=$JAVA_HOME/bin:$PATH

FROM 必須位于第一行,表示基礎鏡像,這里為centos,若不需要任何基礎環境就用scratch;

COPY 拷貝宿主機的資源到鏡像,這里是將resource下所有東西拷貝到鏡像的/usr/local/目錄;

RUN 鏡像中執行命令,這里安裝了一個rpm包和yum安裝which命令,然后進行了清理;

這里把多個命令合并到一個RUN語句是為了減少層數;

ENV 設置鏡像的環境變量,由于后面兩個變量依賴JAVA_HOME,所以必須分到兩個ENV語句了;

其他命令還有:ADD/CMD/ENTRYPOINT/VOLUME/ARG/EXPOSE/WORKDIR/USER/HEALTHCHECK/ONBUILD等;

下面構建鏡像:

# cd img/
# docker build -t my/base .
# docker images
  REPOSITORY TAG IMAGE ID CREATED SIZE
  my/base latest 2cdd09a142e5 24 seconds ago 359MB
  daocloud.io/centos latest a8493f5f50ff 4 days ago 192MB

. 命令最后傳入的是build的工作目錄,這個工作目錄是很重要的;

工作目錄里所有的文件會傳輸到docker服務端,而且dockfile中指定文件時(COPY那行的resource)必須是工作目錄的相對路徑;

所以,在img目錄外面這樣build也是一樣的:

docker build -t my/base img/

-t 指定鏡像在倉庫的名字;

-f 指定dockfile,因為我們這里用的默認名稱Dockerfile,所以不用指定;

--network=host build也是啟動了一個鏡像執行的,因為默認的bridge網絡模式有網絡損耗,所以如果build中包含較多外網訪問,建議改為host:

docker build --network=host -t my/base .

下面啟動測試下這個鏡像:

# docker run --name mb -dti my/base
c86b648c10174271e080f90e8d437a4ee2e25993003bdc68317477514349cb10
# docker attach mb
[root@c86b648c1017 /]# which java
  /usr/local/jdk1.7.0_65/jre/bin/java
[root@c86b648c1017 /]# java -version
 java version "1.7.0_65"
 Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
 Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

分享到:
標簽:dockerfile
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定