本文章來自【知識林】
視頻教程請查看《使用Dockerfile構建MyEclipse創建的JavaWeb項目(視頻)》
思路分析
- 由Centos7作爲基礎鏡像
- 安裝Java環境(安裝Jdk)
- 安裝Tomcat
- 拷貝JavaWeb項目到鏡像
- 運行tomcat
- 通過創建的這個鏡像啓動容器
完整的Dockerfile文件
# 這個鏡像的基礎鏡像是Centos7
FROM centos:7
# 作者
MAINTAINER zslin.com "[email protected]"
# 搜索可以安裝的jdk版本,由於網速問題先註釋
#RUN yum search java | grep jdk
#安裝Jdk
RUN yum -y install java-1.7.0-openjdk
# 安裝wget工具
RUN yum -y install wget
# 創建一個文件夾 /web
RUN mkdir /web/
# 切換工作目錄到/web/下
WORKDIR /web/
# 下載tomcat文件
RUN wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-6/v6.0.47/bin/apache-tomcat-6.0.47.tar.gz
# 安裝tar工具
RUN yum -y install tar
# 解壓tomcat壓縮文件
RUN tar zxvf apache-tomcat-6.0.47.tar.gz
# 切換工作目錄到ROOT下
WORKDIR /web/apache-tomcat-6.0.47/webapps/ROOT
RUN ls -s
# 刪除tomcat默認的項目文件
RUN rm -rf *
# 將我們的項目(WebRoot)添加到docker鏡像中的tomcat下的ROOT目錄下
ADD WebRoot /web/apache-tomcat-6.0.47/webapps/ROOT
RUN ls -s
# 公佈tomcat的8080端口
EXPOSE 8080
# 啓動tomcat
ENTRYPOINT ["../../bin/catalina.sh", "run"]
創建鏡像
docker build -t "zsl131/app1" .
說明 :
docker build
: 創建鏡像的命令;
-t
:指定鏡像名稱
zsl131/app1
:zsl131是指用戶名,app1是具體的鏡像名;
.
:指在當前目錄下找Dockerfile進行構建。
運行容器
docker run -p 80:8080 --name app1 zsl131/app1
說明:指定該容器名稱爲app1
,端口號爲80
,此時可以打開瀏覽器輸入:http://192.168.99.100
訪問(我docker虛擬機的IP地址是192.168.99.100)。
後臺運行docker容器:
docker rm -f app1
docker run -d -p 80:8080 --name app1 zsl131/app1
說明:由於在上面已經使用了名稱:app1
,所以需要先刪除再啓動。
docker rm -f app1
:刪除名爲app1
的容器;
-d
:表示後臺運行;
需要查看後臺運行的容器的日誌是可使用以下命令:
docker logs app1
說明:app
是容器的名稱。
視頻教程請查看《使用Dockerfile構建MyEclipse創建的JavaWeb項目(視頻)》
本文章來自【知識林】