使用 Dockerfile 建立鏡像 | Docker 系列

以前寫鏡像的時候說到建立鏡像最經常使用的方式是使用 Dockerfile,這篇就來重點說一下,究竟是怎麼使用 Dockerfile 來建立的。nginx

基本結構

# 一、第一行必須是 FROM 基礎鏡像信息
FROM ubuntu
 
# 二、維護者信息
MAINTAINER docker_user docker_user@email.com
 
# 三、鏡像操做指令
RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.list RUN apt-get update && apt-get install -y nginx RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf  
# 四、容器啓動執行指令
CMD /usr/sbin/nginx 複製代碼

Dockerfile 基本就長這樣,固然這是一個很簡單的例子,還有不少其餘命令會在下個小節介紹。git

有幾點須要注意,第一行必須是 FROM 命令,表示是基於哪一個基礎鏡像來建立鏡像的。第二行通常是 MAINTAINER 命令,表示維護人信息,但不作硬性要求。最後一行是 CMD 命令,表示啓動容器執行的命令,CMD 命令必須在最後一行,若是有多個 CMD 命令,則只有最後一個生效。github

經常使用指令

FROM: 必須是 Dockerfile 的首個命令,定義了使用哪一個基礎鏡像啓動構建流程。docker

MAINTAINER: 聲明鏡像做者。shell

COPY: 將宿主機的文件拷貝到鏡像內的指定路徑。ubuntu

ADD: 做用相似於 COPYbash

COPYADD 的區別是:ADD 命令功能更多,好比拷貝一個壓縮包,ADD 能夠將壓縮包解壓到鏡像內,若是是下載連接,ADD 會先下載文件,而後再拷貝。微信

但如今 docker 官方更推薦使用 COPY 命令,一個命令只作一件事。ui

WORKDIR: 指定 Dockerfile 中該命令下的操做所在的工做目錄。spa

RUN: 執行命令行命令。

ENV: 設置環境變量。

VOLUME: 掛載數據卷。

EXPOSE: 暴露端口。

CMD: 服務啓動命令。

建立鏡像

有了 Dockerfile 以後,在 Dockerfile 所在目錄執行命令:

# docker build -t <image_name> .
複製代碼

就這麼簡單,鏡像就建立好了。

技術博客:

github.com/yongxinz/te…

同時,也歡迎關注個人微信公衆號 AlwaysBeta,更多精彩內容等你來。

相關文章
相關標籤/搜索