目錄
- 理論知識
- 准備工作
- 編寫Dockerfile文件
- 生成鏡像並啟動
一、理論知識
Dockerfile :告訴docker我需要怎么來制作自己的鏡像,我要制作的鏡像的操作是什么
Docker build :執行dockfile描述的每一件事,最終會把docker images 制作出來
具體內容可參照: https://docs.docker.com/engine/reference/builder/#buildkit
二、准備工作
2.1 簡單編寫測試jsp
2.2 安裝tomcat鏡像
docker pull hub.c.163.com/library/tomcat:latest
先去網易雲鏡像中心找到tomacat鏡像,選擇帶鯨魚圖標的,即下圖第一個:
復制下載地址,同時在下圖界面下拉會找到tomcat的CATALINA_HOME為:/usr/local/tomcat(這在下節會用到)
三、編寫Dockerfile文件
一般是用虛擬機中的 Vim命令編寫Dockerfile文件,但是我親測以后,發現在Windows下編寫非常不方便,所以采用記事本方法編寫,具體方式可見附件一。總共以下幾句話:
from hub.c.163.com/library/tomcat :這句話表明制作的鏡像以tomcat的鏡像為起點,在這個基礎鏡像上進行后續操作,其hub.c.163.com/library/tomcat為步驟3中的鏡像名。
MAINTAINER yifanrensheng XXX@126.com : 為自己的一些信息(可以不寫);
COPY hello.jsp /usr/local/tomcat/webapps/ROOT :將jsp拷貝到tomcat文件下
完整Dockerfile文件如下:
另外還有一個命令:CMD 啟動該image應該跑的腳本
例如:CMD ["catalina.sh", "run"]
四、生成鏡像並啟動
QuickStart終端已經cd 到testdoker目錄下了(具體見步驟5鏈接),同時,需要把步驟1中的 war 文件放到hellodocker文件夾下。
QuickStart終端執行 docker build -t hellotest:latest .,注意最后面有".",如下圖
解釋: -t表示為創建鏡像的參數 ,hellotest為鏡像名稱,latest為鏡像版本。"."表示Dockerfile在當前目錄下,若不是,需要修改成Dockerfile的文件路徑。
QuickStart終端執行 docker images,會發現鏡像已經成功創建:
啟動鏡像:docker run -d -p 8888:8080 hellotest
進入網頁: http://192.168.99.100:8888/hello.jsp
當然,也可以直接命令行測試:
附件一:
1:背景
Window下成功安裝Docker,正常啟動Quick Start 終端,在制作鏡像時,需要用虛擬機中的Vim命令編寫Dockerfile文件,也就是vi Dockerfile,但是發現並不方便,於是采用記事本方式。
2: 操作流程
啟動QuickStart終端,
mkdir hellodocker,在docker的工作目錄 (也就是Docker Toolbox的安裝位置)下新建testdocker文件夾,效果如下圖:(注意若程序是默認安裝的情況下,請先解決C盤中的文件不能修改問題,也即在文件加屬性--安全--放開修改權限)
cd hellodocker :進入testdocker文件夾
touch Dockerfile :創建一個Docker文件在當前目錄,注意這里的Dockerfile的首字母是大寫的(因為Linux文件名是大小寫敏感的)
notepad Dockerfile& :使用windows的記事本打開Dockerfile文件(注意最后面有一個'&'),效果如下圖