首页 > 网络 > 云计算 >

docker镜像构建Dockerfile

2017-04-08

docker镜像构建Dockerfile,本文只有操作 ,原理理论百度。

本文只有操作 ,原理理论百度。

mkdir /opt/docker-file

cd/opt/docker-file/nginx

Dockerfile构建

docker build /opt/nginx/Dockerfile

怎么编写Dockerfile?

Dockerfile

基础镜像信息

维护者信息

镜像操作者指令

容器启动时执行指令

FROM :它的妈妈是谁(基础镜像)

MAINTAINER:告诉别人,谁创造了它(维护者信息)

RUN:你想让它干啥(把命令前面加上RUN)

ADD:往他肚子里放点文件(COPY文件,会自动解压)

WORKDIR:我是cd,今天刚化了妆(当前工作目录)

VOLUME:给我一个存放行李的地方(目录挂载)

EXPOSE:我要打开的门是啥(端口)

构建dockerfile 镜像

[root@docker-test nginx]# cat Dockerfile

## This is My first Dockerfile

# Vresion 1.0

## Author: jason ge

###

##base images

FROM centos

#Maintainer

MAINTAINER jason.zhao jason.zhao@oldboyedu.com

#ADD

ADD nginx-1.9.3.tar.gz /usr/local/src

ADD pcre-8.37.tar.gz /usr/local/src

#RUN

RUN yum install -y wget gcc gcc-c++ make openssl-devel

RUN useradd -s /sbin/nologin -M www

#WORKDIR

WORKDIR /usr/local/src/nginx-1.9.3

RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=./../pcre-8.37 && 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 nginx-file:v1(名字加版本号) /opt/docker-file/nginx/(dockerfile路径)

操作结果如下:

[root@docker-test nginx]# docker build -t nginx-file:v1 /opt/docker-file/nginx/

Sending build context to Docker daemon 2.91 MB

Step 1 : FROM centos

---> 98d35105a391

Step 2 : MAINTAINER jason.zhao jason.zhao@oldboyedu.com

---> Running in 8a3f60020aa3

---> f93924f5bce3

Removing intermediate container 8a3f60020aa3

Step 3 : ADD nginx-1.9.3.tar.gz /usr/local/src

---> 140b7e91fabc

Removing intermediate container b51849b6b39f

Step 4 : ADD pcre-8.37.tar.gz /usr/local/src

---> f9956bafe440

Removing intermediate container 098f3d46a5eb

Step 5 : RUN yum install -y wget gcc gcc-c++ make openssl-devel

---> Running in 330cdda025b1

Loaded plugins: fastestmirror, ovl

结果:

[root@docker-test nginx]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

nginx-file v1 4dbde8f9476a About a minute ago 387 MB

启动一个容器:

docker run -d -p 97:80 --name nginxd nginx-file:v1

docker ps 查看正在运行的容器。

相关文章
最新文章
热点推荐