天天看點

虛拟化技術—docker容器—Dockerfile篇

什麼是Dockerfile?

按照平時,我們都需要先讓一個容器跑起來,然後進去搭建制定自己的服務,那有沒有更簡潔的方法呢?Dockerfile就是為了更友善的制定容器的。

首先先看Dockerfile裡的一些定義,這裡從網上截了個圖,比較形象:

<a href="http://s2.51cto.com/wyfs02/M00/88/8B/wKiom1f7Og2iGewnAAhboF5jp34117.png-wh_500x0-wm_3-wmp_4-s_3181596818.png" target="_blank"></a>

建立目錄:

<a href="http://s3.51cto.com/wyfs02/M02/88/8B/wKiom1f7OoSSLb3gAAAKco1ylcA845.png-wh_500x0-wm_3-wmp_4-s_3306605803.png" target="_blank"></a>

要先把需要的軟體包放在同一個目錄下

<a href="http://s3.51cto.com/wyfs02/M02/88/88/wKioL1f7OoShK3FyAAAX-fqF6F4655.png-wh_500x0-wm_3-wmp_4-s_1424269954.png" target="_blank"></a>

編寫Dockerfile,這裡要特别提醒,Dockerfile編寫需要非常注意空格!!!

vim Dockerfile

添加:

# This is My first Dockerfile

# Version 1.0

# Author: syk

#Base images

FROM centos

#MAINTAINER

MAINTAINER yongkang.shi

#ADD

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

ADD nginx-1.8.1.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.8.1

RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.38 &amp;&amp; make &amp;&amp; make install

RUN echo "daemon off;" &gt;&gt; /usr/local/nginx/conf/nginx.conf

ENV PATH /usr/local/nginx/sbin:$PATH

#EXPOSE

EXPOSE 80

#CMD

CMD ["nginx"]

運作指令建立容器:

docker build -t nginx-file:v2 /opt/docker-file/nginx/

<a href="http://s1.51cto.com/wyfs02/M01/88/8B/wKiom1f7OzuDQuJmAAA8g_FLntY933.png-wh_500x0-wm_3-wmp_4-s_1296897509.png" target="_blank"></a>

最後會提示建構成功:

<a href="http://s1.51cto.com/wyfs02/M01/88/8B/wKiom1f7OzzzCPjvAAAT0LWjyh4559.png-wh_500x0-wm_3-wmp_4-s_11085449.png" target="_blank"></a>

docker ps -a檢視一下:

<a href="http://s3.51cto.com/wyfs02/M00/88/88/wKioL1f7Ozyhnn7mAAAkSY8Rk1M346.png-wh_500x0-wm_3-wmp_4-s_1970865373.png" target="_blank"></a>

本文轉自 sykmiao 51CTO部落格,原文連結:http://blog.51cto.com/syklinux/1860231,如需轉載請自行聯系原作者

繼續閱讀