一、docker hub的使用和说明:
我们要去找镜像,一般都会 https://hub.docker.com 的网站中去找,目前linux的容器,我们目前首选是alpine,因为容器非常小,可以满足基本的linux的环境。
二、Dockerfile的语法
Dockerfile的基本指令一共有13个
1、FROM <image>。其指定一个构建镜像的基础源镜像
2、MAINTAINER <name> <email> 指定作者和邮箱
3、RUN "command" "param1" "param2" 在镜像中执行、创建等命令
4、CMD command param1 param2 CMD在Dockerfile中只能出现一次,有多个,只有最后一个会有效。其作用是在启动容器的时候提供一个默认的命令项
5、EXPOSE <port> [<port>...] 告诉Docker服务器容器对外映射的容器端口号
6、EVN <key> <value> 设置容器的环境变量,可以让其后面的RUN命令使用
7、ADD <src> <dest> 复制本机文件或目录或远程文件,添加到指定的容器目录,支持GO的正则模糊匹配。
8、COPY <src> <dest> COPY除了不能自动解压,也不能复制网络文件。其它功能和ADD相同。
9、ENTRYPOINT "command" "param1" "param2" 这个命令和CMD命令一样,唯一的区别是不能被docker run命令的执行命令覆盖
10、VOLUME ["path"] 在主机上创建一个挂载,挂载到容器的指定路径。docker run -v命令也能完成这个操作,而且更强大。
11、USER daemon 指定运行容器时的用户名或UID
12、WORKDIR path 为RUN、CMD、ENTRYPOINT指令配置工作目录。可以使用多个WORKDIR指令,后续参数如果是相对路径,则会基于之前的命令指定的路径
13、ONBUILD [INSTRUCTION] 这个镜像创建后,如果其它镜像以这个镜像为基础,会先执行这个镜像的ONBUILD命令
三、例子
#Nginx dockerfile
#Version 1.14
#Author: gaochao
FROM centos
RUN mkdir -p /opt/soft
RUN yum install -y gcc gcc-c++ make telnet openssl-devel net-tools
ADD pcre-8.39.tar.gz /opt/soft
ADD nginx-1.14.0.tar.gz /opt/soft
WORKDIR /opt/soft/nginx-1.14.0
RUN ./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-pcre=/opt/soft/pcre-8.39 && make && make install
RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf
ENV PATH /usr/local/nginx/sbin:$PATH
EXPOSE 80
CMD ["nginx"]
docker build -t centos_nginx:v1 .