Dockerfile由一行行命令语句组成,并支持以#开头的注释行。

Dockerfile一般由4部分组成:基础镜像、维护者、镜像操作指令、容器启动指令

FROM ubuntu

MAINTAINER docker_user [email protected]

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

每执行一条RUN指令,镜像就会添加新的一层,并提交。而CMD命令指定运行容器时的操作命令。

编写完Dockerfile之后,可以通过docker build 命令创建镜像。

一般建议将Dockerfile放置在空目录,有时也会通过.dockerignore文件让Docker忽略某些目录和文件。

如果要指定镜像的标签信息,可以使用-t选项。

docker build -t build_repo/first_image /tmp/docker_builder/

定义Nginx的Dockerfile

# Nginx
# 
# VERSION 0.0.1

FROM ubuntu
MAINTAINER Victor Vieux <[email protected]>

RUN apt-get update && apt-get install -y inotify-tools nginx apache2 openssh-server

定义firefox的Dockerfile

基于ubuntu安装firefox和vnc

# Firefox over VNC
#
# VERSION 0.3

FROM ubuntu

RUN apt-get update && apt-get install -y xllvnc xvfb firefox
RUN mkdir /.vnc
RUN xllvnc -storepasswd 1234 ~/.vnc/passwd
RUN bash -c 'echo "firefox" >> /.bashrc'

EXPOSE 5900
CMD ["xllvnc","-forever","-usepw","-create"]

results matching ""

    No results matching ""