欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker中Dockerfile之容器中運行MyEclipse搭建的JavaWeb項目

 更新時間:2017年02月17日 09:48:49   作者:知識林  
本篇文章主要介紹了Docker中Dockerfile之容器中運行MyEclipse搭建的JavaWeb項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

這篇文章將講述如何將上一篇文章中的Javaweb項目制作成Docker的鏡像。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

應(yīng)用程序在Docker容器中運行和在物理機運行的原理是一樣的,所以我們部署這個Javaweb項目到Docker中的步驟應(yīng)該如下:

  • 服務(wù)器支持(這里選擇Centos7)
  • 安裝Java環(huán)境
  • 安裝Tomcat環(huán)境
  • 將Tomcat根目錄下的webapps/ROOT目錄下的所有文件(夾)刪除
  • 將自己開發(fā)的web項目的WebRoot目錄下的所有文件(夾)復(fù)制到Tomcat的webapps/ROOT下
  • 啟動Tomcat服務(wù)

步驟已經(jīng)很清楚了,但要制作Docker鏡像還得借助另一樣?xùn)|西:Dockerfile。

Dockerfile是一個包含有Docker能識別的特殊指令的文件。當(dāng)創(chuàng)建好Dockerfile文件之后就可以使用docker build來創(chuàng)建docker鏡像了。

開始構(gòu)建Docker鏡像

  • 創(chuàng)建一個本示例的文件夾webapp
  • 將項目的WebRoot拷貝到該文件夾
  • 創(chuàng)建Dockerfile文件

結(jié)構(gòu)如下圖:

構(gòu)建Docker鏡像結(jié)構(gòu)圖

創(chuàng)建鏡像

docker build -t "zsl131/web01" .

注意:

docker build:創(chuàng)建Docker鏡像

-t "zsl131/web01":指定鏡像名稱,這里指定為zsl131/web01;鏡像名稱由倉庫和名稱兩部份組成,zsl131為我在hub.docker.com注冊申請的倉庫名稱,web01才是這個鏡像的名稱

.:注意前面有個空格,表示在當(dāng)前目錄下找Dockerfile文件來構(gòu)建鏡像。

下面是本示例創(chuàng)建Docker鏡像的Dockerfile,為了更加認識Dockerfile可以將下面文件中的指令全部刪除,然后每加一行執(zhí)行一次:docker build -t "zsl131/web01" .,這樣可以看到使用Dockerfile來構(gòu)建鏡像時的各種信息:

# 以Centos7作為基礎(chǔ)鏡像
FROM centos:7

# 在不知道該如何安裝jdk時可以啟用下面這行命令,然后就直接運行:docker build
#RUN yum search java | grep jdk

# 選擇適合的jdk版本安裝
RUN yum install -y java-1.7.0-openjdk.x86_64

# 在根目錄下創(chuàng)建一個名為web的目錄
RUN mkdir /web/

# 設(shè)置工作目錄為/web,設(shè)置之后可以使用:RUN pwd來查看當(dāng)前的路徑
WORKDIR /web/

# 安裝wget以方便下載tomcat
RUN yum install -y wget

# 下載tomcat壓縮文件
RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-6/v6.0.48/bin/apache-tomcat-6.0.48.tar.gz

# 解壓tomcat文件
RUN tar zxvf apache-tomcat-6.0.48.tar.gz

# 設(shè)置工具目錄
WORKDIR /web/apache-tomcat-6.0.48/webapps/ROOT/

# 查看當(dāng)前目錄下的所有文件(夾),這時會有tomcat自帶的一些文件
RUN ls -l

# 刪除當(dāng)前目錄下的所有文件(夾)
RUN rm -rf *

# 刪除后再列表,這時沒有任何文件
RUN ls -l

# 將WebRoot目錄下的所有文件(夾)復(fù)制到當(dāng)前目錄即(webapps/ROOT),這里也可以使用COPY指令
ADD WebRoot .

# 復(fù)制完成后可以再列表看一下是否復(fù)制成功
RUN ls -l

# 設(shè)置工作目錄到tomcat的bin目錄下,以方便啟動tomcat服務(wù)
WORKDIR /web/apache-tomcat-6.0.48/bin/

# 對外暴露tomcat的8080端口
EXPOSE 8080

# 啟動tomcat服務(wù),這樣啟動不會在docker run時被覆蓋
ENTRYPOINT ["./catalina.sh", "run"]

完成Dockerfile的編寫后,最后再通過以下命令構(gòu)建鏡像:

docker build -t "zsl131/web01" .

通過命令docker images可以查看剛剛構(gòu)建的鏡像。

運行容器

docker run -d --name web01 -p 80:8080 zsl131/web01

說明:

docker run:運行容器命令

-d:后臺運行

--name web01:設(shè)置容器名稱為web01

-p 80:8080:將對外暴露的端口指定為80,即當(dāng)外部訪問80端口時會映射到容器內(nèi)的8080端口

zsl131/web01:鏡像名稱

查看容器啟動日志

docker logs web01

說明:

docker logs:查看容器日志命令

web01:被查看的容器名稱,這里是web01

訪問

打開瀏覽器輸入:http://192.168.99.100即可訪問由MyEclipse創(chuàng)建的Javaweb項目了。

注意:192.168.99.100是我docker宿主機的ip地址,可以通過docker-machine inspect test01來查看,其中test01是docker宿主機的名稱。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker容器日志占用空間過大問題及解決

    Docker容器日志占用空間過大問題及解決

    這篇文章主要介紹了Docker容器日志占用空間過大問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • docker-compose中的redis-stack詳解

    docker-compose中的redis-stack詳解

    Redis是一個開源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng),主要用于數(shù)據(jù)庫、緩存和消息代理,支持多種數(shù)據(jù)結(jié)構(gòu),RedisStack則基于Redis,提供棧的操作及擴展功能,適合復(fù)雜數(shù)據(jù)處理,本文給大家介紹docker-compose中的redis-stack,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Docker之蘋果Mac安裝Docker的兩種方式小結(jié)

    Docker之蘋果Mac安裝Docker的兩種方式小結(jié)

    這篇文章主要介紹了Docker之蘋果Mac安裝Docker的兩種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Docker 提交倉庫的方法

    Docker 提交倉庫的方法

    這篇文章主要介紹了Docker 提交倉庫的方法,把我們東西上傳DockerHub,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Docker容器鏡像相關(guān)命令基本介紹與使用

    Docker容器鏡像相關(guān)命令基本介紹與使用

    這篇文章主要為大家介紹了Docker容器鏡像相關(guān)命令的基本介紹與使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • 詳解Docker 端口映射與容器互聯(lián)

    詳解Docker 端口映射與容器互聯(lián)

    這篇文章主要介紹了詳解Docker 端口映射與容器互聯(lián) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Docker安裝MySQL并使用Navicat連接的操作方法

    Docker安裝MySQL并使用Navicat連接的操作方法

    這篇文章主要介紹了Docker安裝MySQL并使用Navicat連接,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • docker刪除none鏡像的操作方法

    docker刪除none鏡像的操作方法

    刪除none的鏡像,要先刪除鏡像中的容器,要刪除鏡像中的容器,必須先停止容器,這篇文章主要介紹了docker刪除none鏡像的操作方法,需要的朋友可以參考下
    2023-01-01
  • Docker?安裝Redis?無法使用配置文件設(shè)置密碼問題及解決方法

    Docker?安裝Redis?無法使用配置文件設(shè)置密碼問題及解決方法

    最近開發(fā)需要使用各種組件,如果都到開發(fā)機上安裝,會占用電腦資源較多,所以使用docker容器來安裝這些組件,這篇文章主要介紹了Docker安裝Redis無法使用配置文件設(shè)置密碼問題,需要的朋友可以參考下
    2023-08-08
  • docker安裝mysql、redis鏡像方式

    docker安裝mysql、redis鏡像方式

    這篇文章主要介紹了docker安裝mysql、redis鏡像方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評論