1、安裝docker
2、docker安裝完成之後,首先制作一個基礎鏡像(了解為作業系統的相關庫依賴)
//初始沒有
//下載下傳一個(上面連結裡有),這裡以centos為例
輸入指令:docker pull centos,完成後如下圖
3、準備制作tomcat的基礎内容(便于制作鏡像都放同一個檔案夾)
準備内容如下圖
>>tomcat、jdk(jre就行了),因為我自定義了這倆内容(改過端口等等),是以我存了檔案夾
>>run.sh,名稱随意,用來定義進入鏡像執行什麼内容,簡單說就是去啟動tomcat,然後再把檔案執行句柄交給下列的Dockerfile檔案,run.sh内容如下
#!/bin/bash
sh /opt/tomcat/bin/catalina.sh run
>>Dockerfile檔案,docker鏡像制作檔案,是一串指令集合,如下
FROM centos:latest #基礎鏡像,也就是第二步準備的内容,從docker images指令檢視
MAINTAINER cc-man #忽略
#上傳
ADD tomcat9.0.50 /opt/tomcat/ #将自定義的tomcat檔案夾移動到鏡像中的/opt/tomcat/目錄,非特定位址根據自身源檔案(夾)和目标檔案夾确定即可
ADD jre /opt/jre/ #同理,移動jre
COPY /run.sh /root/run.sh #同理,移動進入鏡像執行的指令集
RUN chmod 777 /root/run.sh #執行權限
#環境變量
ENV JAVA_HOME=/opt/jre #同tomcat中的環境變量設定,根據tomcat和jre(或jdk)位置确定
ENV JRE_HOME=/opt/jre
ENV CATALINA_HOME=/opt/tomcat
ENV CATALINA_BASE=/opt/tomcat
ENV PATH=:$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
ENTRYPOINT ["/root/run.sh"] #簡單了解為進入鏡像就執行的指令,更多意義請網上搜
4、編譯(制作)鏡像
執行指令
docker build -t my_tomcat:1.0 . #表示編譯目前目錄下的内容到鏡像檔案中,其中鏡像名為my_tomcat,tag(版本)為1.0,這倆可以随意,别忘了最後有一個.表示目前目錄
出現如圖内容則制作成功了。
5、使用某個鏡像在容器中運作
兩個比較簡單的指令
docker run -d -p 8080:8090 my_tomcat:1.0 #-d表示背景運作,傳回容器号,跟tomcat 的startup.sh類似;-p是端口映射,鏡像中的8090映射到宿機的8080
或者
docker run -it -p 8080:8090 my_tomcat:1.0 #-it表示互動式運作,類似tomcat的catalina.sh,會輸出日志,ctrl+c退出
如圖表示以容器運作了,通過宿機端口(8080)來通路即可。
http:ip//8080/test/readme.txt(删掉了webapp下面的内容,新增了一個測試文本),如下圖通路成功
6、常用指令:
docker images #檢視鏡像
docker ps #檢視目前運作的容器
docker rmi 鏡像id #删除鏡像(一般删不掉是要做後面兩步驟)
docker stop 容器id #停掉容器
docker rm 容器id #删除容器