1. 程式人生 > >Linux環境部署------docker篇

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容器,這部分這裡沒有介紹到,有興趣的可以去了解下。

總結:各種技術層出不窮,學會如何高效的應用到開發當中才是最重要的。