Dockerfile包含建立映象所需要的全部指令。基於在Dockerfile中的指令,我們可以使用Docker build命令來建立映象。通過減少映象和容器的建立過程來簡化部署
所有Dockerfile都必須以FROM命令開始。 FROM命令會指定映象基於哪個基礎映象建立,接下來的命令也會基於這個基礎映象
序號 |
指令 |
簡介 |
1 |
FROM ubuntu |
新的映象將基於Ubuntu的映象來構建 |
2 |
MAINTAINER <author name> |
設定該映象的作者 |
3 |
RUN 《command》 |
在shell或者exec的環境下執行的命令 RUN指令會在新建立的映象上新增新的層面 |
4 |
ADD 《src》 《destination》 |
複製檔案指令 destination是容器內的路徑。source可以是URL或者是啟動配置上下文中的一個檔案 |
5 |
CMD |
提供了容器預設的執行命令 Dockerfile只允許使用一次CMD指令 |
6 |
EXPOSE <port>; |
指定容器在執行時監聽的埠 |
7 |
ENTRYPOINT |
配置給容器一個可執行的命令,這意味著在每次使用映象建立容器時一個特定的應用程式可以被設定為預設程式 Docker只允許一個ENTRYPOINT |
8 |
WORKDIR |
指定RUN、CMD與ENTRYPOINT命令的工作目錄 |
9 |
ENV <key> <value> |
設定環境變數。它們使用鍵值對 |
10 |
USER <uid> |
映象正在執行時設定一個UID |
11 |
VOLUME |
授權訪問從容器內到主機上的目錄 |
下面是依據centos:5.11搭建tfs
vim Dockerfile
FROM centos:5.11
MAINTAINER reymont "reymont.li@foxmail.com"
RUN yum -y install automake libtool libreadline-dev zlib1g-dev uuid-dev libgoogle-perftools-dev gcc-c++ wget
#安裝5.5的mysql
RUN wget http://centos.ustc.edu.cn/epel/5/x86_64/epel-release-5-4.noarch.rpm
RUN wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/remi-release-5.9-1.el5.remi.noarch.rpm
RUN rpm -ivh *.rpm
RUN yum -y --enablerepo=remi install mysql mysql-server mysql.x86_64 mysql-devel.x86_64
RUN yum -y install make automake zlib-devel readline-devel ncurses-devel.x86_64 ncurses.x86_64 subversion
RUN svn checkout -r 18 http://code.taobao.org/svn/tb-common-utils/trunk/ ~/tb-common-utils
RUN export TBLIB_ROOT=/usr/local/tb/lib && cd ~/tb-common-utils/ && chmod +x *.sh && ./build.sh
RUN svn checkout http://code.taobao.org/svn/tfs/tags/release-2.2.10 ~/tfs-2.2.10
RUN export TBLIB_ROOT=/usr/local/tb/lib && cd ~/tfs-2.2.10/ && chmod +x *.sh && ./build.sh init && ./configure --prefix=/usr/local/tfs --without-tcmalloc && make && make install
編譯
docker build -t reymont/centos-tfs .
參考:
Docker入門教程(三)Dockerfile - DockOne.io
http://dockone.io/article/103
Docker學習筆記之二,基於Dockerfile搭建JAVA Tomcat執行環境 - 聶永的部落格 - BlogJava
http://www.blogjava.net/yongboy/archive/2013/12/16/407643.html
CentOS 5下安裝tfs並使用Nginx做訪問_伺服器應用_Linux公社-Linux系統入口網站
http://www.linuxidc.com/Linux/2014-07/104896.htm
tfs - / - Taocode
http://code.taobao.org/p/tfs/src/