1. 程式人生 > >docker鏡像制作---jdk7+tomcat7基礎鏡像

docker鏡像制作---jdk7+tomcat7基礎鏡像

hot 全部 tar.gz comm 控制 使用命令 clas yum entos

1. 安裝docker

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

yum -y install docker-io?

可使用以下命令,查看 Docker 是否安裝成功:docker version

輸出了 Docker 的版本號,則說明安裝成功了,可通過以下命令啟動 Docker 服務:

service docker start

一旦 Docker 服務啟動完畢,我們下面就可以開始使用 Docker 了。

2. 下載鏡像?

我們不妨還是以 CentOS 為例,通過以下步驟,下載一個 CentOS 的鏡像。

首先,訪問 Docker 中文網,在首頁中搜索名為“centos”的鏡像,在搜索的結果中,有一個“官方鏡像”,它就是我們所需的。

然後,進入 CentOS 官方鏡像頁面,在“Pull this repository”輸入框中,有一段命令,把它復制下來,在自己的命令行上運行該命令,隨後將立即下載該鏡像。?

[root@host-10-1-251-62 ~]# docker pull centos:6

最後,使用以下命令查看本地所有的鏡像:?

[root@host-10-1-251-62 ~]# docker images

可以查看到如下信息:

技術分享圖片

如果看到以上輸出,說明您可以使用“centos”這個鏡像了,或將其稱為倉庫(Repository),該鏡像有一個名為“6”的標簽(Tag),此外還有一個名為“2f96ee8baf17”的鏡像 ID(可能您所看到的鏡像 ID 與此處的不一致,那是正常現象,因為這個數字是隨機生成的)。現在鏡像已經有了,我們下面就需要使用該鏡像,來制作(jdk+tomcat)基礎鏡像。

3. 準備JDK+TOMCAT軟件

??我下載了apache-tomcat-7.0.68.tar.gz和jdk-7u79-linux-x64.tar.gz,存儲於宿主機(Linux機器的本地目錄/home/crmtest/MCC/ljj/下)。為了制作時更加快捷,我直接在本地解壓了兩個軟件,並將目錄名字吻別重命名為jdk和tomcat。

技術分享圖片

4. 編寫Dockerfile文件??

#---------------------------------------------------------------------

#This is a comment註釋

#使用基礎鏡像centos:6

FROM centos:6
#指定鏡像創建者信息

MAINTAINER lijj3 <<A href="mailto:[email protected]">[email protected]>

#切換鏡像的目錄,進入/usr目錄(基礎鏡像是一個linux系統,可參照linux查看相應目錄)
WORKDIR /usr

#在/usr/下創建java目錄,用來存放jdk
RUN mkdir java

#切換鏡像的目錄至/usr/java
WORKDIR /usr/java

#在/usr/java下創建jdk目錄,用來存放jdk文件
RUN mkdir jdk

#切換鏡像的目錄至/usr/java/jdk
WORKDIR /usr/java/jdk

#將宿主機的jdk目錄下的全部文件考入至鏡像的/usr/java/jdk目錄下
ADD jdk /usr/java/jdk

#切換鏡像的目錄至/opt
WORKDIR /opt

#在/opt下創建tomcat目錄,用來存放tomcat文件
RUN mkdir tomcat

#將宿主機的tomcat目錄下的全部文件考入至鏡像的/opt/tomcat目錄下
ADD tomcat /opt/tomcat

#設置環境變量

ENV JAVA_HOME=/usr/java/jdk
ENV JAVA_BIN=/usr/java/jdk/bin
ENV PATH=$PATH:$JAVA_HOME/bin
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#設置容器啟動時執行的操作

CMD /opt/tomcat/bin/catalina.sh run

#---------------------------------------------------------------------

以上就是Dockerfile文件的內容,將該文件存入宿主機當前目錄/home/crmtest/MCC/ljj/下,與jdk,tomcat同目錄。

技術分享圖片

5. 制作鏡像

使用命令:docker build -t centos_jdk7_tomcat7_ljj:latest .

其中centos_jdk7_tomcat7_ljj為鏡像名稱,latest為鏡像tag。

[root@host-10-1-251-62 ~]# docker build -t centos_jdk7_tomcat7_ljj:latest .

制作成功後,查看鏡像:docker images

技術分享圖片

6.啟動容器

使用命令:docker run -d -p 5050:8080 centos_jdk7_tomcat7_ljj:latest

[root@host-10-1-251-62 ~]# docker run -d -p 5050:8080 centos_jdk7_tomcat7_ljj:latest

註意:這裏使用的是宿主機的 IP 地址,與對外暴露的端口號 5050,它映射容器內部的端口號 8080。

  • -d:表示以“後臺模式”啟動,此時 Tomcat 控制臺不會出現在輸出終端上。
  • -p:表示宿主機與容器的端口映射,此時將容器內部的 8080 端口映射為宿主機的 5050 端口,這樣就向外界暴露了 5050 端口,可通過 Docker 網橋來訪問容器內部的 8080 端口了。
  • --name:表示容器名稱,用一個有意義的名稱命名即可。

7. 登錄tomcat網站

在瀏覽器中,輸入以下地址,即可訪問 Tomcat 首頁:
http://10.1.251.62:5050/
技術分享圖片

docker鏡像制作---jdk7+tomcat7基礎鏡像