1. 程式人生 > >docker知識點相關筆記五

docker知識點相關筆記五

  1. 建立一個自定義的tomcat9映象
     ⑴建立一個存放dockerfile的目錄
          
     ⑵在這個目錄下建立一個test1.txt檔案(這個檔案是用來演示cp命令的,
         完成宿主機到容器的拷貝)
         
         並且我們在這個目錄下準備好jdk和tomcat的壓縮包,後面有用
        
    ⑶下面我們開始在這個目錄下編寫Dockerfile檔案
        
        dockerfile檔案內容:
        
    #基於我們從阿里雲下載下來的centos基礎映象
    FROM centos
    
    #定義維護者的資訊
    MAINTAINER kgf<
    [email protected]
    > #把宿主機當前上下文的test1.txt檔案拷貝到容器/usr/local/路徑下 COPY test1.txt /usr/local/test1Copytocontainer.txt #把java與tomcat新增到容器中 ADD jdk-8u191-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-9.0.12.tar.gz /usr/local/ #安裝vim編輯器 RUN yum -y install vim #設定工作訪問時候的workdir路徑,登入落腳點 ENV MY_PATH /usr/local WORKDIR $MY_PATH #配置java與tomcat環境變數 ENV JAVA_HOME /usr/local/jdk1.8.0_191 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.12 ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.12 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin #容器執行時監聽的埠 EXPOSE 8080 #啟動時執行tomcat,下面的三種方式隨便一種都可以使用 #ENTRYPOINT ["/usr/local/apache-tomcat-9.0.12/bin/startup.sh"] #CMD ["/usr/local/apache-tomcat-9.0.12/bin/catalina.sh","run"] CMD /usr/local/apache-tomcat-9.0.12/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.12/bin/logs/catalina.out

     ⑷執行dockerfile檔案
         命令:docker build -f /tmp/kgf/tomcat9/Dockerfile -t kgftomcat9:1.1 .
         
         
    ⑸執行映象生成映象的例項容器
        命令如下:

    docker run -d -p 9080:8080 --name myt9
    -v /tmp/kgf/tomcat9/test:/usr/local/apache-tomcat-9.0.12/webapps/test
    -v /tmp/kgf/tomcat9/tomcat9logs:/usr/local/apache-tomcat-9.0.12/logs
    --privileged=true
    kgftomcat9:1.1
    
    #註釋:
         -d:表示後臺執行
         -p 宿主機埠號:容器內執行的軟體程式埠  --->表示將容器內埠對映到宿主機,對外開放
         --name +容器名稱  --->為執行啟動的容器起一個別名
         -v +宿主機路徑:容器內路徑  --->表示為宿主機和容器新增關聯資料卷
         --privileged=true   ---->這是為了防止資料卷沒有讀寫許可權
         kgftomcat9   ---->這個是映象的名稱
           


    檢視執行效果:
       
     我們可以在外面檢視容器類的目錄:
      
      
      
     

  2. 下面在自定義的tomcat9上釋出web專案演示
    ⑴因為我們在容器內建立關聯的資料卷目錄是test命令,所以我們就將一個
        簡單的名稱為test的web專案部署到容器內。
        a:注意
             因為宿主機的test目錄是和容器類的test關聯目錄,所以我們只需要將
             專案內檔案傳遞到宿主機內即可。
             
      b:檢視容器內test目錄下檔案
           
    ⑵重新啟動執行的容器
        
      效果(完美):
         

  3. docker上安裝mysql
      ⑴從阿里雲上拉取5.6版本mysql
            命令:docker pull mysql:5.6
            
       ⑵使用映象執行容器
            命令:

    docker run -p 12345:3306 --name mysql 
    -v /tmp/mysql/conf:/etc/mysql/conf.d
    -v /tmp/mysql/logs:/logs
    -v /tmp/mysql/data:/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
    
    命令說明:
    -p 12345:3306 :  將主機的12345埠對映到docker容器的3306埠
    --name mysql :自定義執行服務的名字
    -v /tmp/mysql/conf:/etc/mysql/conf.d :將主機/tmp/mysql/conf目錄掛載到容器的/etc/mysql/conf.d
    -v /tmp/mysql/logs:/logs :將主機/tmp/mysql/logs目錄掛載到容器的/logs
    -v /tmp/mysql/data:/var/lib/mysql :將主機/tmp/mysql/data目錄掛載到容器的/var/lib/mysql
    -e MYSQL_ROOT_PASSWORD=123456 :初始化root使用者的密碼
    -d mysql:5.6 後臺執行mysql5.6程式

      ⑶執行效果:
          
      ⑷進入容器
              
     ⑸下面我們同宿主機上的工具連結一下試試
           

  4. 將我們的映象提交到阿里雲上
     ⑴檢視映象
         
    ⑵首先執行mycentos映象容器,並且提交一個新的版本
          
    ⑶首先登陸到阿里雲伺服器上
           
    ⑷建立映象倉庫
          
         
        
       
    ⑸下面我們需要將映象推送到阿里雲
         
         
         a:首先我們連結登陸阿里雲
             
         b:對上傳到阿里雲上標籤的處理
               
        c:下面就是向阿里雲上push了
               
        d:下面我們可以到阿里雲上去搜索一下
               
       e:可以到阿里雲官網直接搜尋,因為是公開的,這裡我們就不演示了,可以直接搜尋kgfbuy/mycebtos
       

  5. 那麼我們再演示一下如何從阿里雲下載下來
     a:首先我們先把本地的刪除
              
           
      b:下載下來
           命令:docker pull registry.cn-qingdao.aliyuncs.com/kgfbuy/mycentos:1.2.1
             
       

    上一篇:docker知識點相關筆記四
    文章目錄