Docker版のTomcatを手がける

9939 ワード

序:先日PHPをDockerしましたが、今日はTomcatを研究してDockerに直接走りました.本文はfacectoに発表する.comと上.2018.12.20に編纂
前人の車輪に
Dockerをインストールし、ここをクリックして直接見て、tomcatミラーをダウンロードします.
docker pull tomcat:8-alpine

現在ダウンロードされているのはtomcat 8です.5,alpineのバージョンに基づいて、このバージョンの利点は体積が特に小さいことです.そしてserverを用意します.xmlファイルは、主にUTF-8が追加され、直接コピーされていない場合は




  
  
  
  
  
  
  
  

  
  
    
    
  

  
  

    
    


    
    
    
    
    
    
    
    

    
    


    

    
    

      
      

      
      
        
        
      

      

        
        

        
        

      
    
  


フォルダtomcatを新規作成するとserver.xmlはtomcatサブディレクトリconfに保存され、現在のディレクトリツリーは
/tomcat
/tomcat/conf
/tomcat/conf/server.xml

新規Dockerfileファイル
/tomcatディレクトリでDockerfileを新規作成
#       tomcat     
FROM tomcat:8-alpine
#        
MAINTAINER "seven" 
#     server.xml  
RUN rm /usr/local/tomcat/conf/server.xml 
#  conf  server.xml   tomcat     
COPY  conf/server.xml /usr/local/tomcat/conf/

OK、非常に短いファイルです.コンパイルを開始し、次のコマンドを実行します.
docker build -t seven/tomcat8 .

数秒待って、UTF-8のTomcatミラーが完成しました.
テスト
ideaでSpringBootプロジェクトを新規作成し、JDK 8を選択してください.新規ハローコントローラ
package com.facecto.demo;
@RestController
@Slf4j
public class HelloController {
    @RequestMapping("/")
    public String index()
    {
        return "hello world";
    }
}

デフォルトで生成されたDemoApplicationを次のように変更します.
package com.facecto.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer
{
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }

}

Mavenコンパイル
mvn clean package -Dmaven.test.skip=true

targetの下のdemo-0.0.1-SNAPSHOT.warはデータフォルダにアップロードし、解凍します.直接unzip xxx-d/webの方式ができます.
dockerの起動
docker run -d -v /web:/usr/local/tomcat/webapps/ROOT --name tomcat -p 8080:8080  seven/tomcat8

バインドされたドメイン名または
curl 127.0.0.1:8080

見慣れたハローワールドを見ることができるはずで、これでTomcatの初級Dockerが完成しました.
もちろんdocker runが苦手ならdocker-cpmoseかdocker swarmかK 8 Sで