1. 程式人生 > >docker映象構建

docker映象構建

一、手動構建映象:
首先執行一個centos的容器,在上面安裝nginx,然後把這個容器做成一個新的映象,通過這個新的映象就可以重新啟動一個新的容器
docker pull centos
docker run –name nginx-man -it centos //執行centos容器,此處進入容器
yum install -y wget gcc gcc-c++ make openssl -devel //安裝這些跟nginx相關的依賴包
wget http://nginx.org/download/nginx-1.9.3.tar.gz //下載nginx安裝包
wget prec安裝包的網址 //下載prc安裝包
mv *.gz /usr/local/src //移動目錄
tar zxf pcre-8.37.tar.gz //解壓
tar zxf nginx-1.9.3.tar.gz
cd nginx-1.9.3
useradd -s /sbin/nologin -M www //建立一個www的使用者,-s表示指定使用者所用的shell,此處為/sbin/nologin,表示不登入,-M表示不建立使用者主目錄,最後的www表示使用者名稱。
./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.37 //安裝nginx
make
make install
vi /usr/local/nginx/conf/nginx.conf 在裡面加一行 daemon off ; //讓這個容器一起來就在前臺執行nginx
exit //退出容器
docker ps -l //檢視容器id
docker commit -m “my nginx” 容器id chenjia/my-nginx:v1 //根據剛剛的容器建立映象
docker images //檢視我們剛剛建立的映象
docker run -d -p 99:80 chenjia/my-nginx:v1 /usr/local/nginx/sbin/nginx //啟動我們剛剛執行的容器

二、Dockerfile建立映象
dockerfile包括以下幾個部分
基礎映象資訊
維護者資訊
映象操作指令
容器啟動時執行命令
mkdir /opt/docker-file/nginx
cd /opt/docker-file/nginx //在這個目錄下進行操作
vi Dockerfile //下面是dockerfile裡面的內容

this is my first Dockerfile

Version 1.0

Base images

FROM centos

MAINTAINER

MAINTAINER chenjia

ADD

ADD prc-8.37.tar.gz /usr/local/src //這個安裝包提前下好放在當前目錄
ADD nginx-1.9.3.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=/usr/local/src/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 . //用當前目錄下的dockerfile構建映象

dockerfile命令總結:
這裡寫圖片描述