1. 程式人生 > >docker(包括docker、mysql、tomcat的安裝,以及部署web工程檔案)

docker(包括docker、mysql、tomcat的安裝,以及部署web工程檔案)

本文是在我查看了很多前輩的部落格上完成的有很多借閱的成分,主要記錄docker從安裝到部署Javaweb程式的整個過程,希望對有需要的人有所幫助,我是個菜鳥,望多多包涵。

CentOS 07 Docker 安裝

 

使用Ctrl+alt在虛擬機器和Windows切換滑鼠,直接複製文件裡的指令。

安裝了圖形化介面:

在虛擬機器中右鍵貼上即可

沒安裝圖形化介面:切換滑鼠游標在虛擬機器命令列按一下Ctrl+alt之後按Ctrl+V。

 

前提條件:

Docker 執行在 CentOS 7 上,要求系統為64位、系統核心版本為 3.10 以上。

1.使用 yum 安裝docker(CentOS 7下):

Docker 要求 CentOS 系統的核心版本高於 3.10

1.首先通過 uname -r 命令檢視你當前的核心版本

指令:uname –r

 

2.使用su root切換使用者許可權到root

指令:su root

 

 

輸入你root許可權的密碼(密碼是你安裝虛擬機器時設定的超級管理密碼),密碼正確如上圖進入root許可權

3.使用yum update確保 yum 包更新到最新。(備註:以下指令執行時會彈出很多內容,只截取了一部分圖片,需要一定時間,等待即可),出現統計資訊提示是否確認,輸入y並按下Enter。

指令:yum update

 

4.解除安裝舊版本(如果安裝過舊版本的話,沒安裝過直接跳過)

指令:yum remove docker docker-common docker-selinux docker-engine

5.安裝一些必要的系統工具:

指令:yum install -y yum-utils device-mapper-persistent-data lvm2

 

6.新增軟體源資訊:

指令:yum-config-manager --add-repo

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  

7.安裝 docker-ce:

指令:yum -y install docker-ce

 

 

 

 8.啟動並加入開機啟動

指令:systemctl start docker

指令:systemctl enable docker

  

9.驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了)

指令:docker version

 

 

如果失敗:重新執行第4步,接著執行第7步

 

 

 

 

 

2.docker安裝mysql將資料掛在宿主機

1.在虛擬機器建立本地目錄(/是指在根目錄下)

指令:mkdir /data

指令:mkdir /data/MySQL

指令:mkdir /data/MySQL/datadir

由於本人已經建好目錄所以顯示已存在

 

 

新建三個資料夾,層級關係,我們最後把儲存路徑放到datadir下,同樣的我們在MySQL資料夾中新建一個conf.d資料夾放配置檔案:

 

指令:mkdir /data/MySQL/conf.d

  

  

2.新建執行並取名為一個mysql5.7的docker服務 把埠對映到3306 MySQL儲存路徑放到新建的datadir資料夾中,把配置檔案放到conf.d中(這裡的/var.... 和/etc ....是docker服務預設位置,一重啟就沒了,所以我們要換掉),定義root賬戶密碼為123456, 執行映象是MySQL:5.7

指令:docker run --name mysql5.7 -p 3306:3306 -v/data/MySQL/datadir:/var/lib/mysql -v /data/MySQL/conf.d:/etc/mysql/conf.d -eMYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

 

(這裡省略了MYSQL:5.7的映象下載,但執行run時,如果本地沒有該映象,會從公共映象庫裡下載你指定版本的映象,若不指定:自動預設下載映象庫裡latest版本的映象)

 

 

 

3.進入容器內部:

指令:docker exec -it mysql5.7 /bin/bash

 

4.進入mysql命令列

指令:mysql –uroot –p

  

密碼是你建立mysql5.7時設定的密碼,忘記時,回看第2步(PASSWORD=123456)PASSWORD=123456

這裡密碼是不可見得,直接輸入密碼按回車即可

  

5.現在你可以建立專案需要的資料庫和相關的表了。

 

 

3.docker安裝tomcat

1.新建並執行一個名為tomcat01的服務 把埠對映到8080,連線到剛才建立資料庫伺服器的容器mysql5.7

指令:docker run -d -p 8080:8080 --name tomcat01 --link mysql5.7 -d tomcat[b1] 

 

如圖看到一長串ID編號表示tomcat新建成功

2.在瀏覽器輸入虛擬機器ip地址+:tomcat埠號8080

如:192.168.227.129:8080

虛擬機器ip:名稱為ens33對應的ip地址

指令:ip address              (查詢IP地址)或

指令:ifconfig ens33          (查詢ens33的ip地址)

 

如果安裝成功:會彈出如下介面

 

 

 

 

4.部署Javaweb專案

 

前提條件修改專案裡有關連線mysql的URL以及配置檔案的資訊

 

 

如上圖:mysql5.7是我在docker中執行的容器名(這裡也可以寫mysql5.7的ip但不推薦,因為ip會變,而容器名稱是你自己建立容器時命名的),這裡的root是mysql的賬戶名,密碼是你建立該容器時設定的密碼,這裡是123456。

至於war檔案的生成這裡就不詳細介紹了。

1.  在根目錄下新建資料夾webapps(用來存放.war檔案)

指令:mkdir  /webapps

 

2.通過U盤將目標檔案拷貝到根目錄下的webapps

如圖選中虛擬機器,滑鼠右鍵點選選擇可移動裝置,選擇你的U盤,選擇斷開連線(連線主機)(D)(備註:可能需要再次操作一遍,最後一步變成連線(連線主機)(D))之後就可以直接複製你優盤裡的目標檔案到根目錄下的webapps裡。

 

 

3.將根目錄下webapps裡的目標檔案複製到tomcat

(備註:首先從下面指令2開始執行一直到指令4可以看到該路徑下沒有目標檔案(注意:部署web專案時除了目標檔案,該路徑下沒有其他檔案,若有請使用rm –f 檔案全稱,刪除檔案)

 

按下Ctrl+d 或者輸入exit退出容器

 

這時從指令1進行操作

指令1: docker cp /webapps/bookManagement.war tomcat01:/usr/local/tomcat/webapps

 

指令2:docker exec -it tomcat01 /bin/bash      //(進入容器tomcat01內部)

 

  

指令3:cd webapps      //(進入/usr/local/tomcat/webapps路徑下)

 

指令4:ls       //(檢視webapps資料夾裡的檔案)此時目標檔案bookManagement已在/usr/local/tomcat/webapps路徑下

 

4.複製成功後,重新啟動tomcat01容器,會自動完成目標檔案的部署(備註:啟動tomcat01之前確保mysql5.7是啟動的,由於tomcat01連線了mysql5.7)

指令5:docker restart tomcat01     //(重啟tomcat01容器)

至此一個Javaweb專案就在docker上部署成功了。

 

5.開啟瀏覽器在位址列輸入虛擬機器地址:8080/專案名稱就可以訪問了(備註如果這裡不知道虛擬機器ip地址是什麼請回看3.docker安裝tomcat的第2步)

例如:192.168.227.131:8080/bookManagement

 

 

備註:由於虛擬機器地址會變,解決方法

1.  在使用虛擬機器ip前,使用

指令:ip address 檢視ens33對應的ip地址

或是使用

指令:ifconfig ens33 檢視ens33對應的ip地址

 

2.將虛擬機器的ip設定為靜態ip

Docker 常用指令:

docker images        //檢視本地映象

docker ps -a         //檢視所有容器

docker ps            //檢視當前有哪些容器正在執行

docker rmi 映象名稱/映象ID    刪除映象

docker rm 容器名稱/容器ID     刪除容器(刪除前必須先停止容器的執行)

docker start 容器名稱/容器ID      啟動一個容器

docker restart 容器名稱/容器ID     重啟一個容器

docker stop 容器名稱/容器ID     停止一個在執行的容器

docker run -d -p 8081:8080 --name tomcat01 tomcat 利用映象建立一個容器

-d: 在後臺執行

-p:對映埠號 這裡將tomcat01的埠8080對映到宿主機的8081埠

--name: 為容器取名字

tomcat: 本地映象倉庫的映象 

ctrl+d 退出容器且關閉,

ctrl+p+q 退出容器但不關閉,

docker exec -it 容器名稱/容器ID /bin/bash:進入容器

 

 


 [b1]