# This dockerfile uses the ubuntu image
# VERSION 2 - EDITION 1
# Author: docker_user
# Command format: Instruction [arguments / command] .. # 1、第一行必须指定 基础镜像信息
FROM ubuntu # 2、维护者信息
MAINTAINER docker_user docker_user@email.com # 3、镜像操作指令
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 # 4、容器启动执行指令
CMD /usr/sbin/nginx
Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令、容器启动执行指令。
一开始必须要指明所基于的镜像名称,接下来一般会说明维护者信息。
后面则是镜像操作指令,例如 RUN 指令。RUN 指令将对镜像执行跟随的指令。每执行一条RUN 指令,镜像添加新的一层,并提交
最后是 CMD 指令,来指明运行容器时的操作命令。
FROM 指令:格式: FROM <images> 或者 FROM<image>:<tag>。第一条指令必须是 FROM 指令。并且,如果在同一个Dockerfile中创建多个镜像时,可以使用多个 FROM 指令。
MAINTAINER 指令:指定维护者信息。
RUN 指令:格式:RUN <command> 或者 RUN ["executable","param1","param2"]
另外通过直接下载程序镜像(Nginx)也可以创建一个容器,并将容器运行起来。
(1) 从*仓库下载镜像:docker pull nginx:1.9
(2) docker run 命令启动容器,docker run -d -p 8080:80 nginx:1.9,把容器内的nginx的80端口,映射到当前服务器(Centos系统的ip地址)的8080端口,我当前服务器的ip是192.168.1.10,这样在浏览器输入192.168.1.10:8080/,发现nginx已启动。
(3) 再启动多一个容器,docker run -d -p 8085:80 nginx:1.9,浏览器输入http:/192.168.1.10:8085/,就可以看到另外一个nginx已启动。