<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                #### Base鏡像(scratch) Docker Hub中99%的鏡像都是通過在base鏡像中安裝和配置需要的軟件構建出來的。可以把它理解為Java中的Object類; #### 自定義鏡像CentOS 1. 編寫Dockerfile 阿里云pull的鏡像默認不支持ifconfig,vim等命令 ![](https://img.kancloud.cn/3c/b6/3cb64a1274615e810fefcc9d3b14afff_566x129.png) 目的:自定義CentOS鏡像具備以下功能 1 登陸后的默認路徑為/usr/local 2 vim編輯器 3 查看網絡配置命令ifconfig的支持 \# 表示從這個鏡像作為模板 FROM centos \# 鏡像作者信息 MAINTAINER 自定義Dockerfile的Demo zhao.yang@landasoft.com CMD echo 功能:自定義構建CentOS的Dockerfile的Demo 作者:zhao.yang@landasoft.com \# 配置登陸容器后的工作目錄 ENV WORK\_PATH /use/local WORKDIR $WORK\_PATH \# 配置文本編輯器vim和ifconfig命令的支持 RUN yum install -y vim \# 使用yum安裝vim \# 控制臺打印消息信息 CMD echo 文本編輯器vim安裝完成 \# 安裝net-tools(net-tools是ifconfig命令所在的軟件包) RUN yum install -y net-tools CMD echo net-tools網絡工具安裝完成 \# 對外暴露80端口 EXPOSE 80 \# 鏡像啟動時,默認執行的命令 CMD /bin/bash 1. 構建 docker build -f customize\_centos7.6 -t gotojava/centos7.6 . ![](https://img.kancloud.cn/7b/90/7b905de19744ccfff7248be7a1a4b12e_1267x728.png) docker images命令查看生成的本地鏡像,發現我們自定義的鏡像已經在本地鏡像列表中了 ![](https://img.kancloud.cn/ff/c0/ffc0d00b41be57227a8d4dc7e9a01de3_1087x170.png) 1. 運行鏡像 ![](https://img.kancloud.cn/9a/f9/9af9e629a7dfa2517c8e1acab3b4e1a0_979x588.png) 可以看到默認的工作路徑在/usr/local目錄下,vim編輯器也有了,ifconfig也可以正常執行了 1. 列出鏡像的變更歷史 語法:docker history 鏡像名稱或鏡像ID ![](https://img.kancloud.cn/8a/49/8a4974e7d3546c27aba6367c87be2d7e_1180x415.png) #### CMD/ENTRYPOINT鏡像案例 共同點:都是指定一個容器啟動時要運行的命令 ##### CMD - Dockerfile中可以有多個CMD指令,但只有最后一個生效,CMD會被docker run之后的參數替換。 ![](https://img.kancloud.cn/b0/8b/b08bbdf5de88fab99fd73830b144306d_1180x494.png) 正常的情況下,tomcat會正常啟動,并且在控制臺打印啟動日志,但是如果在后面加上”ls -l”后,Tomcat最后的cmd命令會被ls -l命令進行替換,最終只會執行ls -l命令,而不會啟動Tomcat。 ##### ENTRYPOINT curl命令:curl命令可以用來自執行下載、發送各種HTTP請求,指定HTTP頭部等操作。 Docker run之后的參數會被當做參數傳遞給ENTRYPOINT,之后會形成新的命令組合 1. 制作CMD版可以查詢IP地址信息的Dockerfile \# 表示從這個鏡像作為模板 FROM centos \# 安裝curl下載工具 RUN yum install -y curl CMD echo curl安裝完成 CMD \["curl","-s","https://ip.cn/?ip="\] 1. 構建Docker容器 docker build -f cmd\_command -t gotojava/query\_ip:1.0 . ![](https://img.kancloud.cn/b6/25/b625cadedcd0b87562dcebde3b236f49_1227x638.png) 1. 運行結果 ![](https://img.kancloud.cn/75/2e/752e71c80568233bd8df4851ab0a5e48_999x63.png) 1. 問題 但此時,如果想要追加參數內容,就會報錯 ![](https://img.kancloud.cn/07/6e/076ef8755f58efc05fa0f8317436978d_1885x97.png) 1. WHY 原因在于:跟在鏡像名后面的是command,運行時會替換Dockerfile中CMD的默認值。 1. 制作ENTRYPOINT版查詢IP信息的容器 - Dockerfile \# 表示從這個鏡像作為模板 FROM centos \# 安裝curl下載工具 RUN yum install -y curl CMD echo curl安裝完成 ENTRYPOINT \["curl","-s","https://ip.cn/?ip="\] - 運行效果 ![](https://img.kancloud.cn/b5/17/b5177248d81b504f2208ffd9fbbe45df_1629x402.png) #### ONBUILD命令案例 1. 編寫Dockerfile文件,并構建該文件鏡像,鏡像名為**gotojava/onbuild** \# 表示從這個鏡像作為模板 FROM centos \# 安裝curl下載工具 RUN yum install -y curl RUN echo curl安裝完成 ENTRYPOINT \["curl","-s","https://ip.cn/?ip="\] ONBUILD RUN ECHO “鏡像容器被繼承了” 1. 構建該鏡像 ![](https://img.kancloud.cn/d3/54/d354bbe50d44e4d01305594c68c1eee8_1199x493.png) 1. 編寫一個Dockerfile文件,該Dockerfile繼承于gotojava/onbuild,鏡像名為gotojava/onbuild\_child \# 表示從這個鏡像作為模板 FROM gotojava/onbuild \# 安裝curl下載工具 RUN yum install -y curl RUN echo curl安裝完成 ENTRYPOINT \["curl","-s","https://ip.cn/?ip="\] 1. 構建該鏡像,觸發ONBUILD指令 ![](https://img.kancloud.cn/f6/e9/f6e9c79432e3081d30ae0aec59afee11_1415x661.png) 此時ONBUILD指令被觸發 #### 自定義鏡像Tomcat8 1. 建立tomcat8目錄 mkdir gotojava/tomcat8 -p 1. 創建file.txt文件 touch file.txt 1. 將jdk和tomcat安裝的壓縮包拷貝到創建的目錄中 \[root@izikh2x5epj8p6z tomcat8\]# cp ~/jdk-8u171-linux-x64.tar.gz ~/apache-tomcat-8.5.31.tar.gz . 1. 編寫Dockerfile FROM centos \# 作者說明 MAINTAINER ZhaoYang<yz0917@foxmail.com> \# 把宿主機當前上下文的file.txt拷貝到容器/usr/local路徑下 COPY file.txt /usr/local/fileContainer.txt \# 把Java與Tomcat添加到容器中(ADD有復制和解壓兩個功能) ADD jdk-8u171-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-8.5.31.tar.gz /usr/local/ \# 安裝vim編輯器 RUN yum install -y vim \# 配置工作區默認訪問路徑 ENV WORK\_PATH /usr/local/ WORKDIR $WORK\_PATH \# 配置Java環境變量 ENV JAVA\_HOME /usr/local/jdk1.8.0\_171/ ENV CLASSPATH $JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar \# 配置Tomcat環境變量 ENV CATALINA\_HOME /usr/local/apache-tomcat-8.5.31/ ENV CATALINA\_BASE /usr/local/apache-tomcat-8.5.31/ \# 將JAVA環境變量和Tomcat環境變量追加到PATH變量中 ENV PATH $PATH:$JAVA\_HOME/bin:$CATALINA\_HOME/lib:$CATALINA\_HOME/bin \# Tomcat容器對外監聽端口 EXPOSE 8080 \# 啟動時運行tomcat CMD /usr/local/apache-tomcat-8.5.31/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.5.31/logs/catalina.out 1. 構建Docker鏡像 ![](https://img.kancloud.cn/4d/4c/4d4c3430ccfffc159c9659bb3b1b6cf1_1893x765.png) ![](https://img.kancloud.cn/d2/fe/d2fe77e6e70a81a39f09c0ac267ec9ef_1065x92.png) 1. Run docker run -p 80:8080 -d gotojava/tomcat8.5
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看