Dockerfileのドッカー実際のアプリケーション入門


1.Dockerfileフォーマット

写真.PNG


2. Dockerfile命令

写真.PNG


3.ビルドミラー

写真.PNG


4.建設nginxの、PHP、Tomcatのベース画像

   前提:.zipファイルdockerfileとApache-Tomcatの-8.0.46.tar.gzをアップロード

[ルート@ localhostののfirst_stage]#解凍dockerfile \ .zipファイル-d Dockerfile / 
アーカイブ:はdockerfile .zipファイル
  膨らま:Dockerfile / Dockerfile-nginxの   
  膨張:Dockerfile / Dockerfile-PHPの   
  膨張:Dockerfile / Dockerfile-tomcatに   
  膨らま:Dockerfile / nginx.conf    
  膨らまを:Dockerfile / PHP-fpm.confの   
  膨張:Dockerfile / php.iniの

nginxのは、基本イメージを構築します:

[root@localhost first_stage]# sed -i 's/1.12.2/1.15.5/g' Dockerfile-nginx
[root@localhost first_stage]# cat Dockerfile-nginx
FROM centos:7
MAINTAINER www.ctnrs.com
RUN yum install -y gcc gcc-c++ make \
    openssl-devel pcre-devel gd-devel \
    iproute net-tools telnet wget curl && \
    yum clean all && \
    rm -rf /var/cache/yum/*
RUN wget http://nginx.org/download/nginx-1.15.5.tar.gz && \
    tar zxf nginx-1.15.5.tar.gz && \
    cd nginx-1.15.5 && \
    ./configure --prefix=/usr/local/nginx \
    --with-http_ssl_module \
    --with-http_stub_status_module && \
    make -j 4 && make install && \
    rm -rf /usr/local/nginx/html/* && \
    echo "ok" >> /usr/local/nginx/html/status.html && \
    cd / && rm -rf nginx-1.15.5* && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/nginx/sbin
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
WORKDIR /usr/local/nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
[root@localhost first_stage]# docker build -t  nginx:v1 -f Dockerfile-nginx .
[root@localhost first_stage]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               v1                  5595125c7c2b        4 minutes ago       396MB
centos              7                   9f38484d220f        4 months ago        202MB
[root@localhost first_stage]#

构建PHP基础镜像:

[root@localhost first_stage]# cat Dockerfile-php 
FROM centos:7
MAINTAINER www.ctnrs.com
RUN yum install epel-release -y && \
    yum install -y gcc gcc-c++ make gd-devel libxml2-devel \
    libcurl-devel libjpeg-devel libpng-devel openssl-devel \
    libmcrypt-devel libxslt-devel libtidy-devel autoconf \
    iproute net-tools telnet wget curl && \
    yum clean all && \
    rm -rf /var/cache/yum/*

RUN wget http://docs.php.net/distributions/php-5.6.36.tar.gz && \
    tar zxf php-5.6.36.tar.gz && \
    cd php-5.6.36 && \
    ./configure --prefix=/usr/local/php \
    --with-config-file-path=/usr/local/php/etc \
    --enable-fpm --enable-opcache \
    --with-mysql --with-mysqli --with-pdo-mysql \
    --with-openssl --with-zlib --with-curl --with-gd \
    --with-jpeg-dir --with-png-dir --with-freetype-dir \
    --enable-mbstring --with-mcrypt --enable-hash && \
    make -j 4 && make install && \
    cp php.ini-production /usr/local/php/etc/php.ini && \
    cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf && \
    sed -i "90a \daemonize = no" /usr/local/php/etc/php-fpm.conf && \
    mkdir /usr/local/php/log && \
    cd / && rm -rf php* && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/php/sbin
COPY php.ini /usr/local/php/etc/
COPY php-fpm.conf /usr/local/php/etc/
WORKDIR /usr/local/php
EXPOSE 9000
CMD ["php-fpm"]
[root@localhost first_stage]# docker build -t  php:v1 -f Dockerfile-php .
[root@localhost first_stage]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
php                 v1                  755346c48f2c        4 minutes ago       522MB
nginx               v1                  5595125c7c2b        22 minutes ago      396MB
centos              7                   9f38484d220f        4 months ago        202MB
[root@localhost first_stage]#

构建Tomcat基础镜像:

[root@localhost first_stage]# sed -i "s/8.0.52/8.0.46/g" Dockerfile-tomcat 
[root@localhost first_stage]# cat Dockerfile-tomcat 
FROM centos:7
MAINTAINER www.ctnrs.com

ENV VERSION=8.0.46

RUN yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y && \
    yum clean all && \
    rm -rf /var/cache/yum/*

RUN wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz && \
    tar zxf apache-tomcat-${VERSION}.tar.gz && \
    mv apache-tomcat-${VERSION} /usr/local/tomcat && \
    rm -rf apache-tomcat-${VERSION}.tar.gz /usr/local/tomcat/webapps/* && \
    mkdir /usr/local/tomcat/webapps/test && \
    "OK"> /usr/local/tomcat/webapps/test/status.html && \エコー
    は/ usr / local: - ' "は/ dev /./ urandomのDjava.security.egd =ファイル" 1A JAVA_OPTS =' sedの-i /tomcat/bin/catalina.sh && \ 
    LN -sfを/ usr / share / zoneinfoの/アジア/上海の/ etc / localtimeのは

ENVのパス$ PATH:は/ usr / local / tomcatに/ビン

WORKDIRは/ usr / local / tomcatに

8080を公開
CMD [ "catalina.sh"、 "ファイル名を指定して実行"] 
[ルート@ localhostののfirst_stage]#ドッキングウィンドウ-t Tomcatの構築:V1 -f Dockerfile-Tomcatを。


5.クイックウェブサイトのプラットフォームを構築LNMP

写真.PNG



おすすめ

転載: blog.51cto.com/dengaosky/2426483