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基本命令使用
- docker imgaes 查看本地的鏡像
- docker pull tomcat:7.0.108 從倉庫拉取鏡像到本地
- docker run -d -p 8080:8080 tomcat:7.0.108
-d 代表在后臺運行
-p 代表將容器的8080埠映射到主機的8080埠,前面是主機后面是容器埠 - docker ps 查看運行的容器
- docker ps -a 查看所有的容器
- 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還是很有必要的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298260.html
標籤:其他
上一篇:程式員發現bug是一種怎樣的感受
