Docker實戰之創建一個tomcat容器


一、Docker與虛擬機的區別

 

 

二、Docker學習步驟

2.1:安裝宿主操作系統

在VMVare中安裝了Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64)

64位操作系統

建議內核在 3.8 以上,執行uname –r 查看內核如下圖所示

 

 

2.2:更新系統

Ubuntu在安裝的過程中沒有指定root用戶密碼的操作,所以我們需要給root用戶一個密碼

命令如下

sudo passwd 系統會提示Enter New UNIX OR LINUX PASSWORD

輸入即可

再次確認密碼,會提示修改成功

接下來更新系統命令

apt update && apt dist-upgrade –y或者sudo  apt update && apt dist-upgrade –y

 

 

等待系統更新完成,如下圖所示

 

 

2.3:安裝Docker

執行命令:

curl https://releases.rancher.com/install-docker/17.03.sh | sh

如下圖所示

 

 

之后需要在線下載一些安裝資源,耐心的等待就好,安裝成功如下圖所示

 

 

查看docker是否安裝成功,docker version ,如下圖所示顯示正確的版本號則說明安裝成功

 

 

安裝成功后則可啟動docker服務

systemctl start  docker.service

   

三、Docker的練習

3.1:查看容器和鏡像

執行docker ps 或者 docker images 進行查看容器或者鏡像,如下圖(因為剛裝好Docker

所以現在的容器和鏡像都是為空的下面顯示的知識標題)

 

 

3.2:下載一個鏡像

執行docker pull 鏡像名 即可下載一個鏡像,下面以下載一個redis鏡像為例進行操作,此操作需要連接網絡,需要等待,如下圖所示

 

 

下載完成,如下圖所示

 

 

下載成功再次執行docker images命令可以看到我們下載的鏡像

 

 

3.3:創建一個tomcat運行環境

3.3.1:上傳java和tomcat

分別下載如下安裝包,上傳到服務器

 

 

3.3.2:解壓到指定的目錄

我們在Docker宿主機上創建了一個tomcat-docker目錄,把解壓好的jdk和tomcat放到該目錄,如下圖所示

 

 

 

3.3.3:創建用來生成鏡像的Dockerfile文件

在tomcat-docker目錄下執行命令touch Dockerfile創建一個Dockerfile文件

Vi  Dockerfile內容如下,之后保存

 # 設置繼承的鏡像

FROM ubuntu:16.04

# 創建者信息

MAINTAINER wxj "kingstudy@vip.qq.com"

# 設置環境變量,所有操作都是非交互式的

ENV DEBIAN_FRONTEND noninteractive

# 設置tomcat的環境變量

ENV CATALINA_HOME /tomcat

ENV JAVA_HOME /jdk

# 復制tomcat和jdk文件到鏡像中

ADD apache-tomcat-9.0.0.M21 /tomcat

ADD jdk1.8.0_131 /jdk

# 復制啟動腳本至鏡像,並賦予腳本可執行權限

ADD run.sh /run.sh

RUN chmod +x /*.sh

RUN chmod +x /tomcat/bin/*.sh

# 暴露接口8091,這是我的tomcat接口,默認為8080

EXPOSE 8091

# 設置自啟動命令

CMD ["/run.sh"]

3.3.4:創建自動啟動文件run.sh

在創建Dockerfile的時候我們可以發現最后的一行設置自啟動命令里面指定了/run.sh

這里的’/’是根目錄的意思,和Linux操作系統的’/’目錄有所區別,只要Dockerfile和run.sh在同一個目錄下這個地方就可以用/來指定,下面我們在tomcat-docker路徑下執行touch run.sh創建一個run.sh文件,內容如下

#!/bin/bash

# 啟動tomcat

exec ${CATALINA_HOME}/bin/catalina.sh run

 

run.sh的作用是在啟動容器的時候啟動tomcat服務

3.3.5:根據Dockerfile生成鏡像

注意:這個命令一定要在tomcat-docker這個目錄下執行才可以,因為里面有復制文件的操作用的是相對目錄

root@KingServer1:~/tomcat-docker# docker build -t tomcat:test1 -f /root/tomcat-docker/Dockerfile .

Sending build context to Docker daemon 391.1 MB

Step 1/12 : FROM ubuntu:16.04

 ---> d355ed3537e9

Step 2/12 : MAINTAINER wxj "kingstudy@vip.qq.com"

 ---> Using cache

 ---> c1f3d38837ca

Step 3/12 : ENV DEBIAN_FRONTEND noninteractive

 ---> Using cache

 ---> be1ca3b3b014

Step 4/12 : ENV CATALINA_HOME /tomcat

 ---> Running in ae8df355595b

 ---> dcba8eb85069

Removing intermediate container ae8df355595b

Step 5/12 : ENV JAVA_HOME /jdk

 ---> Running in 9fcfd0114cb8

 ---> 93155ece74c9

Removing intermediate container 9fcfd0114cb8

Step 6/12 : ADD apache-tomcat-9.0.0.M21 /tomcat

 ---> 5c6cb315cd7b

Removing intermediate container a205f98691c1

Step 7/12 : ADD jdk1.8.0_131 /jdk

 ---> 026a07f7732f

Removing intermediate container e75995168a1a

Step 8/12 : ADD run.sh /run.sh

 ---> bae5ce399a0d

Removing intermediate container d6661b08ec16

Step 9/12 : RUN chmod +x /*.sh

 ---> Running in 1c8c73ba4bbd

 ---> e32338aed2aa

Removing intermediate container 1c8c73ba4bbd

Step 10/12 : RUN chmod +x /tomcat/bin/*.sh

 ---> Running in 90397e868a4b

 ---> 2879d10a8022

Removing intermediate container 90397e868a4b

Step 11/12 : EXPOSE 8091

 ---> Running in e9e9de8bb2a5

 ---> 7d5fa1266ad3

Removing intermediate container e9e9de8bb2a5

Step 12/12 : CMD /run.sh

 ---> Running in 5ccebdc7a956

 ---> 1835085d375b

Removing intermediate container 5ccebdc7a956

Successfully built 1835085d375b

查看鏡像是否生成成功,執行docker images如下圖所示可以看到鏡像ID 183,則說明成功

 

 

3.3.6:用生成的tomcat鏡像來啟動一個容器

執行如下命令

docker run -d -p 50080:8080 tomcat:test1

-p是指定宿主主機和容器的端口映射, 用宿主主機的50080端口映射容器的8080端口

查看是否啟動成功,docker ps 如下圖所示可以看到啟動成功

 

 

3.3.7:測試容器是否部署成功

容器啟動以后,我們就可以通過宿主主機來訪問tomcat容器了,由於我們啟動容器的時候做了端口映射所以訪問的地址為:

http://192.168.1.51:50080/

如下圖所示:說明部署成功

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM