# 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已啟動。