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