亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

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

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

    Dockerfile介紹

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

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