1. 程式人生 > >Dockerfile 建立第一個映象,docker

Dockerfile 建立第一個映象,docker

在上一篇 《執行第一個docker容器》中我說過docker build 指令是一個相對

其他指令比較複雜的指令,這裡呢就跟大家一起來分享一下該指令。

docker build指令是用來建立一個映象的指令,

但是建立映象需要一個檔案叫做Dockerfile(檔名只能是這個)

其實使用docker build 指令複雜不是指它自己

而是指 Dockerfile 檔案編寫相對很複雜

編寫Dockerfile檔案會用到如下指令中的一個或多個(使用者自己根據情況進行選擇)

FROM:指定容器啟動時要用的基礎映象,

如:FROM ubuntu,指定基礎映象是ubuntu;

CMD:指定容器啟動時要執行的指令或者命令,

如:CMD [ "/bin/bash" ];

RUN:容器啟動時要執行的指令,

如:RUN apt-get -y update;

ADD:構建映象時把宿主機的當前工作目錄中的檔案或目錄複製到映象中,

它會把檔案提取出來複製到映象中,

如:ADD a.tar.gz /home,

在構建映象時就會把 a.tar.gz 解壓後把裡面的檔案複製到 映象中的/home目錄中;

COPY :構建映象時把檔案或目錄只複製到映象中,不會做其他的操作,

如:COPY a.tar.gz /home ,把a.tar.gz壓縮包複製到 /home目錄中;

WORKDIR:利用該映象建立一個容器時會在容器中設定一個工作目錄,

如:WORKDIR  /home 就是把 /home當作該容器的工作目錄;

ENV:在構建映象時為容器設定環境變數,

如:ENV JAVA_HOME=/home/jdk ;

VOLUME:向利用該映象建立的容器中添加捲,

如:VOLUME ["/home/project"];

EXPOSE:暴露的埠;

如:EXPOSE 22

以上的指令是在編寫Dockerfile檔案時用的,並且都要大寫

編寫 Dockerfile(檔名) 列子如下:

FROM ubuntu:14.04
MAINTAINER ldy "[email protected]"
RUN apt-get -yqq update
RUN apt-get -y install openjdk-7-jre
ADD apache-tomcat-8.5.4.tar.gz /home/
ENV TOMCAT_HOME=/home/apache-tomcat-8.5.4/bin
EXPOSE 8080

列子中的apache-tomcat-8.5.4.tar.gz要和Dockerfile在同一個目錄中(即構建映象時用的工作目錄)

構建映象:

[[email protected] tomcat]# pwd
/home/tomcat

可以知道我的工作目錄是:/home/tomcat

[[email protected] tomcat]# ls
Dockerfile  apache-tomcat-8.5.4.tar.gz

[[email protected] tomcat]# docker build -t newdocker/tomcat . (注意:最後面有一個“ .”)

Dockerfile和 apache-tomcat-8.5.4.tar.gz都在該目錄中

newdocker是映象倉庫,tomcat是映象名(儲存Dockerfile檔案的目錄名)

docker指令:http://blog.csdn.net/smallpizza/article/details/53114397

docker commit建立映象:http://blog.csdn.net/smallpizza/article/details/53521003