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]


免責聲明!

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



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