站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        Docker構(gòu)建Tomcat鏡像+Nginx鏡像

        Dockerfile介紹

        Dockerfile是由一組指令組成的文件,每條指令對應(yīng)linux中一條命令,Docker程序?qū)⒆x取Dockerfile中的指令生成指定鏡像。
        Dockerfile大致結(jié)構(gòu):基礎(chǔ)鏡像信息、維護(hù)者信息、鏡像操作指令、容器啟動時執(zhí)行指令。每行支持一條指令,每條指令可以攜帶多個參數(shù),支持以 # 開頭的注釋。
        Dockerfile操作指令:

        FROM 鏡像 : 指定新的鏡像所基于的鏡像
        MAINTAINER 名字 :說明新鏡像的維護(hù)人
        RUN 命令 : 在所基于的鏡像上執(zhí)行命令,并提交到新的鏡像中
        CMD [“要運(yùn)行的程序”,”參數(shù)1″,”參數(shù)2”] : 指定啟動容器時要運(yùn)行的命令或腳本
        EXPOSE端口號 : 指定新鏡像加載到Docker時要開啟的端口
        ENV環(huán)境變量 變量值 : 設(shè)置一個環(huán)境變量的值,會背后面的RUN用到
        ADD源文件/目錄 目標(biāo)文件/目錄 :將源文件復(fù)制到目標(biāo)文件 ,源文件和Dockerfile位于同一目錄
        COPY源文件/目錄 目標(biāo)文件/目錄 :將本地主機(jī)的源文件復(fù)制到目標(biāo)目錄,源文件和Dockerfile位于同一目錄
        VOLUME[“目錄”] : 在容器中創(chuàng)建一個掛載點(diǎn)
        USER 用戶名 /UID :指定運(yùn)行容器時的用戶
        WORKDIR路徑 : 為后續(xù)的RUN 、CMD、ENTRYPOINT 指定工作目錄
        ONBUILD命令 : 指定所生成的鏡像作為一個基礎(chǔ)鏡像時所要運(yùn)行的命令。

        構(gòu)建Tomcat鏡像
        創(chuàng)建工作目錄以及下載解壓安裝包

        [root@test3 ~]# docker pull CentOS  基礎(chǔ)鏡像
        [root@test3 ~]# mkdir  tomcat
        [root@test3 ~]# mv apache-tomcat-8.5.34.tar.gz tomcat/
        [root@test3 ~]# mv jdk-8u181-linux-x64.tar.gz tomcat/
        [root@test3 ~]# cd tomcat/
        [root@test3 tomcat]# tar xvf apache-tomcat-8.5.34.tar.gz
        [root@test3 tomcat]# tar xvf jdk-8u181-linux-x64.tar.gz

        創(chuàng)建Dockerfile文件

        # vim Dockerfile  //編寫Dockerfile

        # 設(shè)置基礎(chǔ)鏡像
        FROM centos
        # 維護(hù)該鏡像的用戶
        MAINTAINER this is tomcat image <sz>
        # 安裝JDK環(huán)境,設(shè)置其環(huán)境變量
        ADD jdk1.8.0_181 /usr/local/java
        ENV JAVA_HOME /usr/local/java
        ENV JAVA_BIN /usr/local/java/bin
        ENV JRE_HOME /usr/local/java/jre
        ENV PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/bin
        ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar
        ADD apache-tomcat-8.5.34  /usr/local/tomcat
        #開啟端口
        EXPOSE 8080

        生成鏡像:

        [root@test3 tomcat]#  docker build -t tomcat:centos .
        ······
        Removing intermediate container fe9e7d2565aa
        Step 10/10 : EXPOSE 8080
         —> Running in 24dcbc4d1afc
         —> 214b8cfca21c
        Removing intermediate container 24dcbc4d1afc
        Successfully built 214b8cfca21c

        運(yùn)行并進(jìn)入容器:

        [root@test3 tomcat]# docker run –name tomcat01 -p 80:8080 -d -it  tomcat:centos /bin/bash

        啟動Tomcat:

        [root@test3 tomcat]# docker exec -it 8c5ce8dd /bin/bash
        [root@8c5ce8dd9282 /]# /usr/local/tomcat/bin/startup.sh
        ······
        Using CATALINA_BASE:  /usr/local/tomcat
        Using CATALINA_HOME:  /usr/local/tomcat
        Using CATALINA_TMPDIR: /usr/local/tomcat/temp
        Using JRE_HOME:        /usr/local/java/jre
        Using CLASSPATH:      /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
        Tomcat started.

        測試:

        Docker構(gòu)建Tomcat鏡像+Nginx鏡像

        注:把鏡像保存到本地

        [root@test3 tomcat]# docker save -o centos_tomcat.tar  tomcat:centos

        centos_tomcat.tar 為保存到本地后的包名
        tomcat:centos 為被打包的對象鏡像

        如果在一臺新機(jī)器還原docker鏡像

        [root@test2 ~]# docker load –input centos_tomcat.tar
        ······
        Loaded image: tomcat:centos

        構(gòu)建Nginx鏡像

        1.創(chuàng)建工作目錄

        [root@test3 ~]# docker pull centos    //下載基礎(chǔ)鏡像
        [root@test3 ~]# mkdir nginx
        [root@test3 ~]# cd nginx/

        創(chuàng)建Dockerfile文件

        [root@test3 ningx]#  vim Dockerfile
        # 設(shè)置基礎(chǔ)鏡像
        FROM centos
        # 維護(hù)該鏡像的用戶
        MAINTAINER this is nginx image <sz>
        # 安裝環(huán)境 下載軟件包 并解壓
        RUN yum install -y wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel
        RUN wget https://nginx.org/download/nginx-1.14.0.tar.gz
        RUN tar xvf nginx-1.14.0.tar.gz
        # 工作目錄 編譯安裝
        WORKDIR nginx-1.14.0
        RUN ./configure –prefix=/usr/local/nginx && make && make install
        # 開啟 80 和443端口
        EXPOSE 80
        EXPOSE 443
        # 修改配置文件,以非 deamon方式啟動
        RUN echo “daemon off;”>>/usr/local/nginx/conf/nginx.conf
        # 復(fù)制服務(wù)腳本并設(shè)置權(quán)限
        WORKDIR /root/nginx
        ADD run.sh /run.sh
        RUN chmod 755 /run.sh
        # 啟動容器時執(zhí)行腳本
        CMD [“/run.sh”]

        執(zhí)行腳本

        [root@test3 ningx]# vim run.sh
        #!/bin/bash
        /usr/local/nginx/sbin/nginx

        生成鏡像

        [root@test3 ningx]# docker build -t nginx:new .
        ······
        Step 13/14 : RUN chmod 755 /run.sh
         —> Running in ad6e4604aede

         —> 979f95edc03b
        Removing intermediate container ad6e4604aede
        Step 14/14 : CMD /run.sh
         —> Running in 8f1209324969
         —> a0bdb7bb13ad
        Removing intermediate container 8f1209324969[root@test3 ningx]# docker run -d -P nginx:new
        f2855c4f4732435cfa3a8c9e17af8540c874577228f8276013260b2d9474e50b[root@test3 ningx]#  docker ps -a
        CONTAINER ID        IMAGE              COMMAND            CREATED            STATUS              PORTS                                          NAMES
        f2855c4f4732        nginx:new          “/run.sh”          6 seconds ago      Up 4 seconds        0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp  clever_gates

        測試

        Docker構(gòu)建Tomcat鏡像+Nginx鏡像

        注:把鏡像保存到本地

        [root@test3 ~]# docker save -o centos_nginx.tar  nginx:new

        centos_nginx.tar 為保存到本地后的包名
        nginx:new 為被打包的對象鏡像

        如果在一臺新機(jī)器還原docker鏡像

        [root@test2 ~]# docker load –input centos_nginx.tar
        ······
        Loaded image: nginx:new

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 麻豆精品视频在线观看| 99国产精品国产精品九九| 精品国产a∨无码一区二区三区| 国产精品高清2021在线| 久久国产精品一国产精品金尊| 毛片a精品**国产| 2021国产成人精品久久| 国产精品免费精品自在线观看| 人妻少妇精品无码专区二区| 无码精品人妻一区二区三区免费| 办公室久久精品| 国产精品999| 精品无码一区在线观看| 亚洲日韩精品A∨片无码| 欧美精品福利视频一区二区三区久久久精品| 日韩欧美精品不卡| 国产精品一久久香蕉产线看| 国产精品日本一区二区在线播放| 一级A毛片免费观看久久精品| 久久久久人妻一区精品果冻| 国产精品婷婷午夜在线观看| 亚洲国产精品欧美日韩一区二区| 国产夫妇精品自在线| 97精品伊人久久大香线蕉app| 久久国产亚洲精品无码| 久久久久久国产精品无码超碰| 全球AV集中精品导航福利| 亚洲av永久无码精品国产精品| 亚洲线精品一区二区三区影音先锋| 一本精品中文字幕在线| 亚洲精品专区在线观看| 日韩精品无码永久免费网站| 久久精品国产国产精品四凭 | 精品亚洲综合久久中文字幕| 国产精品va无码一区二区| 精品视频无码一区二区三区| 国产综合精品一区二区三区| 国产精品免费大片| 国产精品毛片久久久久久久| 欧美精品人爱c欧美精品| 99久re热视频这里只有精品6|