Linux環境部署------docker篇
前言:在linux系統中部署環境往往要修改很多配置,利用docker容器技術可以簡便這些操作,快速部署伺服器環境。
docker:通俗來說,就是類似於虛擬機器的執行原理,寄宿在主機上執行。而在docker容器裡面執行的各種容器,類似於安裝window系統需要的映象,當一個系統安裝純淨版時,什麼都沒有,啥驅動和軟體都要自己親自去安裝,這時候的就有了映象,人們把自己安裝配置好軟體的系統打包,提供給被別人安裝,當別人安裝了這個系統時,就不用自己安裝驅動,同時也會有一些別的軟體。而docker就是參照這個原理,將安裝時要手動配置的步驟打包成docker,供別人pull,當別人將這個軟體pull到自己主機時,配置就不用自己手動添加了,達到一鍵安裝的效果。
結構圖:
執行各種映象產生的容器 Mysql容器 Tomcat容器 Redis容器等 |
Docker容器 |
Linux(主機) |
1、首先在linux系統通過傳統的方式安裝jdk和tomcat
Linux系統:Centos7.3(可以用自己搭建的虛擬機器,也可租雲伺服器)
工具:
SmarTTY(或Xshell):用做遠端連線Linux系統
Xftp:用做與Linux系統傳輸檔案
所需的軟體:
Xftp連線到centos系統後,在/usr/目錄下新建java,其子目錄下建立jdk和tomcat資料夾,用來放置jdk和tomcat
用Xftp傳輸兩個壓縮包到相關的目錄下,進入資料夾,進行解壓
解壓命令:
#tar -xvf jdk-8u191-linux-x64.tar.gz
#tar -xvf apache-tomcat-7.0.91.tar.gz
執行結果:
配置jdk環境變數
方法一:
開啟編輯檔案:
#vi /etc/profile
在任意位置新增以下配置:
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_191
export JRE_HOME=/usr/java/jdk/jdk1.8.0_191/jre
export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH
編輯完內容後,按下Esc鍵,並輸入“:wq”,然後回車可以儲存退出。
使配置檔案生效:
#source /etc/profile
驗證jdk環境:
# java -version
方法二:
利用Xftp視覺化視窗直接開啟profile檔案編輯
去到相應資料夾下開啟tomcat服務
# ./startup.sh
阿里雲伺服器是預設關閉防火牆的
# firewall-cmd --state
為了安全需要開啟防火牆的話,新增相關的出站規則即可,檢視埠狀態
# netstat -lnp
訪問專案:
傳輸war包到tomcat下的webapps目錄下,然後訪問專案
但是,這時候是訪問不到專案的,因為阿里雲伺服器設定了雙重防火牆,還要去控制檯開啟相關埠的出站規則
2、docker方式安裝mysql
首先檢查linux是否支援docker,核心版本3.10以上才支援
# uname -r
安裝docker
# yum install docker
開啟docker服務
# systemctl start docker
開啟docker自啟動
# systemctl enable docker
利用docker搜尋mysql
# docker search mysql
相當於在網站https://hub.docker.com上面搜尋
進入一個mysql,裡面有各種版本,預設下載的是最新版本
下載mysql5.7版本
# docker pull mysql:5.7
啟動容器,第一次啟動需要根據映象來啟動容器
# docker run --name mysql -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7
--name 自定義容器名字:容器名字
-d:在後臺執行
-e MYSQL_ROOT_PASSWORD=資料庫密碼:設定mysql密碼,啟動其他容器時不用加這個引數
-p 3306:3306:埠對映,容器埠對映到主機埠,因為外部是不能訪問到容器埠的,如果是tomcat,則要對映8080埠
mysql:5.7:拉取的映象名稱
還有一些常用的docker命令
容器:
# docker ps:檢視執行中的容器
# docker ps -a:檢視所有的容器
# docker stop 容器id:停止執行中的容器
# docker start 容器id:啟動容器(第二次啟動用這個)
# docker rm 容器id:刪除容器
映象:
# docker images:映象的列表
# docker rmi 映象id:刪除映象
不要混淆了映象和容器的概念,容器是通過執行映象來產生的
看到這裡,大家是不是有疑問了?很正常
疑問一:為什麼不用docker方式安裝tomcat?
因為通過docker安裝的軟體,不能通過Xftp直接視覺化部署專案,只能通過命令來進入docker版的tomcat,對於部署專案就有點不方便了
對tomcat的相關操作(圖轉載自網路,侵權可告知刪博):
疑問二:為什麼要用docker方式安裝mysql?
直接安裝mysql的話,還需要自己設定相關的設定,有點麻煩,docker的一鍵安裝比較方便,docker還可以安裝其他的軟體,例如redis、mongodb等眾多軟體,用起來也方便,當然,也可以自己定義docker,用自己配置好的docker容器,這部分這裡沒有介紹到,有興趣的可以去了解下。
總結:各種技術層出不窮,學會如何高效的應用到開發當中才是最重要的。