docker学习笔记之dockerfile创建镜像

来源:互联网 发布:大数据安全建设 编辑:程序博客网 时间:2024/05/18 22:47

dockerfile创建镜像

     通过dockerfile创建镜像的第一点就是先创建一个空的目录。

# vim Dockerfile# This is My frist Dockerfile# Version 1.0# Author : Zhoooo!#Base imagesFROM centos#MAINTAINERMAINTAINER Jason Wei#ADDADD nginx-1.12.0.tar.gz /usr/local/srcADD pcre-8.39.tar.gz    /usr/local/src#RUNRUN yum -y groupinstall "Development tools"RUN yum -y install openssl-develRUN useradd -s /sbin/nologin -M www#WORKDIRWORKDIR /usr/local/src/nginx-1.12.0RUN mkdir -pv /var/tmp/nginx/{client,fcgi,proxy,scgi,uwsgi}RUN ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=www --group=www --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre=/usr/local/src/pcre-8.39  && make && make installENV PATH /usr/local/nginx/sbin:$PATHEXPOSE 80CMD ["nginx"]


看一下目录环境。

# ls
Dockerfile  nginx-1.12.0.tar.gz  pcre-8.39.tar.gz


直接创建

# docker build -t nginx-file .


注意后面有一个点

完成!!!!


下面介绍一下Dockerfile中的一些选项。

FROM              告诉他是以什么镜像为基础的。


MAINTAINER   维护者信息


RUN                 后面跟着想要运行的命令


ADD                 自动copy文件,如果是压缩包的话,会自动解压


WORKDIR       告诉当前的工作目录


VOLUME         目录挂载

VOLUME ["/tmp/data"] 


EXPOSE          暴露的端口

格式 EXPOSE 80     容器的80端口将要被映射  docker run -p 8000 image  8000->80


ENV 环境变量的指定


CMD                 容器启动时执行的命令。

格式  CMD ["executable","param1","param2"]