自學dockerfile筆記

dockerfile:docker

1) FROM  : FROM 鏡像指令指明瞭當前鏡像繼承的基鏡像,編譯當前鏡像時會自動下載基鏡像 ,若是不指定映像url 則從docker hub 上獲取。 e.g : FROM ubuntu shell

2) MAINTAINER :MAINTAINER 指令 指定了當前鏡像的做者及聯繫方式。e.g : MAINTAINER: caiqiufangjson

3)RUN : RUN 指令能夠在當前鏡像上執行Linux  命令並造成一個新的層,RUN 是編譯時(build) 的動做,在docker 命令中運行的shell 命令,等價於docker run <image> <command> 示例能夠是以下兩種,CMD 和 ENTRYPOINT也是如此 e.g : RUN /bin/bash -c "echo helloworld"    or   RUN {"/bin/bash", "-c" ,"echo helloworld"}ubuntu

4) CMD : CMD 指令指明瞭啓動鏡像容器時的默認行爲(docker 容器運行時的默認命令),一個Dockerfile 裏只有一個CMD 指令,CMD 指令裏設定的命令能夠在運行鏡像時使用參數覆蓋,CMD 是 運行時(run)的動做。 e.g :  CMD echo "this is a test"  正如上所說能夠被運行時的參數覆蓋,以下: docker  run -d imag_name echo "this is not a test"。vim

       ENTRYPOINT 和CMD同樣,可是ENTRYPOINT不會被覆蓋bash

5)EXPOSE : 指明瞭鏡像運行時的容器必須監聽的端口  e.g : EXPOSE 8080ui

6) ENV : 用來設置環境變量  e.g :  ENV myname = caiqiufang   or ENV myname  caiqiufang。this

7) ADD : ADD 指令是指從當前工做目錄複製文件(並解壓縮)到鏡像目錄中去。 e.g : ADD test.txt   /mydir/阿里雲

      COPY:和ADD同樣,可是不解壓縮url

8) ENTRYPOINT : ENTRYPOINT 指令能夠讓容器像一個可執行程序同樣運行,這樣鏡像運行時能夠像軟件同樣 接收參數執行。ENTRYPOINT 是運行(run)時的動做  e.g : ENTRYPOINT {"/bin/echo"}  ,那麼咱們能夠向鏡像傳遞參數運行 docker run  -d image_name  "this is a test"

9) WORKDIR <path>: 指定RUN, CMD, ENTRYPOINT  等命令運行的工做路徑 

10) LABEL 功能是爲鏡像指定標籤

11) VOLUME 可實現掛載功能,能夠將內地文件夾或者其餘容器種得文件夾掛在到這個容器種 語法爲: VOLUME ["/data"]

12)ONBUILD 語法: ONBUILD [INSTRUCTION]這個命令只對當前鏡像的子鏡像生效。 好比當前鏡像爲A,在Dockerfile種添加: ONBUILD RUN ls -al這個 ls -al 命令不會在A鏡像構建或啓動的時候執行 此時有一個鏡像B是基於A鏡像構建的,那麼這個ls -al 命令會在B鏡像構建的時候被執行

 

配置阿里雲鏡像加速

1.sudo vim /etc/docker/daemon.json
添加:

{
"registry-mirrors": ["https://xxxxxxxx.aliyuncs.com"]
}

2.重啓docker服務

相關文章
相關標籤/搜索