docker基本使用以及部署簡單的web項目


docker基本使用以及部署簡單的web項目

1.     什么是docker

docker按照通俗易懂的理解來說就是一個用來裝應用的容器,就像可以把水裝到杯子里,把飯裝到碗里,把錢裝到錢包里,可以把網站放在docker中,可以把任何想得到的程序放在docker中。

2.     docker能解決的問題

2.1環境配置的問題

軟件開發最大的麻煩事之一,就是環境配置,比如一個java web應用,運行起來需要一個操作系統,操作系統之上還需要jdk、tomcat、mysql,系統環境問題,配置問題,甚至jdk、tomcat版本問題都能導致程序運行失敗

所以docker來了,它把操作系統、jdk、tomcat等全部放在集裝箱里.再打包放到鯨魚上,由鯨魚給我們送到服務器上,在我的機器上怎么運行,在別的機器上也怎么運行.不會有任何的問題.一句話就是docker解決了運行環境不一致所帶來的問題

2.1資源消耗的問題

    普通windows系統里運行的Linux虛擬機存在資源占用多,操作步驟冗余,啟動慢等問題,但docker就不一樣,Docker 屬於 Linux 容器的一種封裝,提供簡單易用的容器使用接口,相比其他虛擬機它啟動快、資源占用少、體積小,所以它是目前最流行的 Linux 容器解決方案。

3.     Docker的三個概念

3.1鏡像(image)

從本質上來說鏡像就是一系列文件,可以包括我們應用程序的文件,也可以包括我們應用的運行環境的文件。

3.2容器(container

容器是Docker的運行組件,啟動一個鏡像就是一個容器,容器是一個隔離環境,多個容器之間不會相互影響,保證容器中的程序運行在一個相對安全的環境中

3.3倉庫(docker hub

Docker倉庫可以共享和管理docker鏡像,可以把鏡像傳到倉庫中,也可以從倉庫中把鏡像拉取到目的地。

鏡像就相當於打包好的版本,鏡像啟動之后運行在容器中,倉庫就是裝存儲鏡像的地方。

4.     Centos上安裝docker

1、Docker要求centos系統內核版本高於3.10,所以要輸入命令查看是否支持。

使用 uname -r 查看

 

 

 

     2、設置倉庫

$ yum install -y yum-utils \

  device-mapper-persistent-data \

  lvm2

    3、安裝docker

$ yum-config-manager \

    --add-repo \

https://download.docker.com/linux/centos/docker-ce.repo

4、安裝 Docker Engine-Community

$ yum install docker-ce docker-ce-cli containerd.io

    5、啟動docker

$ systemctl start docker

6、運行hello-world校驗Docker安裝是否成功

$ docker run hello-world

 

 

 

 出現如圖所示即代表安裝成功。

5.     docker基本命令使用

  1. docker imgaes 查看本地的鏡像
  2. docker pull tomcat:7.0.108 從倉庫拉取鏡像到本地
  3. docker run -d -p 8080:8080 tomcat:7.0.108
    -d 代表在后台運行
    -p 代表將容器的8080端口映射到主機的8080端口,前面是主機后面是容器端口
  4. docker ps  查看運行的容器
  5. docker ps -a 查看所有的容器
  6. docker exec -it xxxxx bash 進入容器
    xxxx是使用docker ps命令查看到的容器的id

 

 

 

 

6.     使用Docker部署一個簡單的web應用

6.1 拉取所需的mysql鏡像

1、使用命令:docker pull mysql:5.6 從倉庫拉取鏡像到本地;

2、使用命令:docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
    name:給容器命令為mysql
    -e:在創建mysql容器的同時創建一個root用戶,密碼為123456

3、進入這個容器查看一下,

使用命令:docker ps 查看容器id后

使用命令:docker exec -it xxx bash

 

 

 

如上圖所示代表成功。

6.2 配置tomcat鏡像中的內容

1、使用命令進入tomcat容器

 

 

 

此時,在本地瀏覽器訪問tomcat主頁是訪問不了的,是因為tomcat容器中存在兩個webapps文件夾,如上圖所示,所以需要把webapps.dist里的內容復制到webapps文件夾里,並刪掉webapps.dist這個文件夾,此時就可以正常訪問了。

2、從本地拷貝系統部署包到tomcat容器中的webapps目錄下
    使用命令:docker cp xxx c4d18fd1a170:/usr/local/tomcat/webapps

 

 

 

3、tomcat會自動部署該部署包,配置一下系統配置文件,修改一下數據庫等路徑以及密碼,數據庫地址進入mysql容器中查看,要對應mysql容器的ip地址以及端口

 

 如果容器中提示沒有vi命令,可以使用如下命令

apt-get update

apt-get install vim docker

來安裝

6.3 查看部署的系統

    直接訪問虛擬機的ip地址加預設的端口號以及war包文件名即可,可以正常訪問並且登錄,至此,在容器中部署java web應用已全部完成。

 

 

 

7.     總結

使用docker部署應用,對於測試人員來說,無疑大幅度減輕了系統環境配置的問題,以及大大節省了部署時間,只需要簡簡單單的從代碼倉庫拉取所需要的鏡像即可完成配置,再也不用繁瑣的一步一步去安裝軟件,安裝依賴,然后一步一步配置環境,大大提高了部署工作的效率,使用也相對簡單,由此看出,不管開發測試還是運維,絕大多數人都應該會接觸到docker.所以學docker還是很有必要的

 


免責聲明!

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



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