SpringBoot之旅第七篇-Docker

1、引言

記得上大三時,要給微機房電腦安裝系統,除了原生的操做系統外,還要另外安裝一些必要的開發軟件,若是每臺電腦都從新去安裝的話工做量就很大了,這個時候就使用了windows鏡像系統,咱們將要安裝的軟件裝好打包成一個鏡像,其餘電腦只要裝這個鏡像就能夠了,這樣工做量就減小了不少。Docker跟這個鏡像並非一回事,可是思想是相同的。mysql

咱們在一臺服務器中下載、安裝、配置好Mysql,在另一臺服務器中又得從新下載、安裝、配置,這樣很麻煩也容易出現一些錯誤。sql

這個時候Docker就派上用場了,咱們能夠將安裝配置好的軟件打包成一個鏡像,而後其餘的服務器中只要安裝了Docker,就能夠運行鏡像,運行成功後的鏡像咱們稱爲容器,每一個容器之間使用了沙箱隔離機制,這就是Docker的做用。docker

Docker是一個開源的應用容器引擎,基於 Go 語言 並聽從Apache2.0協議開源。Docker是一個輕量級容器技術,它不是一個虛擬機技術,卻實現了虛擬機技術的資源隔離,並且他的性能要比虛擬機技術高。windows

Docker支持將軟件編譯成一個鏡像;而後在鏡像中各類軟件作好配置,將鏡像發佈出去,其餘使用者能夠直接使用這個鏡像。運行中的這個鏡像稱爲容器,容器啓動是很是快速的。相似windows裏面的ghost操做系統,安裝好後什麼都有了。tomcat

 

2、核心概念

先學習幾個核心概念服務器

  • 主機(Host):安裝了Docker程序的機器(Docker直接安裝在操做系統之上)。性能

  • 客戶端(Client):鏈接docker主機進行操做。學習

  • 倉庫(Registry):用來保存各類打包好的軟件鏡像(包括公共倉庫和私有倉庫)。阿里雲

  • 鏡像(Images):軟件打包好的鏡像,放在docker倉庫中。spa

  • 容器(Container):鏡像啓動後的實例稱爲一個容器,容器是獨立運行的一個或一組應用。

咱們使用Docker只須要按照如下步驟:

  1. 安裝Docker。

  2. 去Docker倉庫找到這個軟件對應的鏡像。

  3. 使用Docker運行這個鏡像,這個鏡像就會生成一個Docker容器。

  4. 對容器的啓動中止就是對軟件的啓動中止

3、安裝Docker

接下來咱們來在Linux安裝Docker,首先咱們必須先安裝好Linux虛擬機,這個在此不贅述了,咱們直接從安裝Docker開始,

首先咱們要檢查內核版本,命令爲:uname -r,必須是3.10及以上,而後就按照步驟進行安裝:

  1. 安裝: yum install docker 中間有一個確認操做,按y肯定

  2. 啓動:systemctl start docker。

  3. 查看版本:docker -v。

  4. 設置開機啓動:systemctl enable docker。

  5. 關閉:systemctl stop docker。

通常正常安裝不會有問題,若有問題,百度一下也能解決。

4、經常使用操做

安裝完成以後咱們來學習下經常使用的操做

4.1 鏡像操做

  1. 檢索:docker search 關鍵字,例:docker search mysql

這裏的搜索實際上是去https://hub.docker.com/ 中進行搜索,咱們也能夠去這裏直接進行搜索。

  1. 拉取:docker pull 鏡像名:tag (:tag是可選的,tag表示標籤,多爲軟件的版本,默認是latest) 搜索完成以後,咱們能夠對咱們想要的鏡像進行拉取,例:docker pull mysql

以前沒使用國內鏡像加速,下載了半個小時還沒完成,建議使用鏡像加速器,我使用的是阿里雲的,直接註冊後,按照教程使用便可https://cr.console.aliyun.com/

  1. 列表:docker images 安裝完成以後使用命令  查看已下載的鏡像

       4.刪除:docker rmi image-id 刪除不要的鏡像,image-id 對應相關鏡像ID

4.2 容器操做

鏡像下載成功後,咱們能夠開始進行容器操做,爲了方便演示,咱們再下載tomcat的鏡像:docker pull tomcat

下面咱們對容器進行操做:

  1. 運行: docker run --name container-name -d image-name 其中name 參數是咱們自定義容器名 -d 指後臺運行,image-name 是鏡像名稱,例:docker run --name mytomcat -d tomcat:late

        2. 查看運行鏡像列表:docker ps ,運行成功後面能夠經過命令查看,這個命令只查看正在運行的容器

       

  1. 中止:docker stop 容器的id ,例:docker stop 43e2182aceec

  1. 查看全部鏡像列表:docker ps -a

  1. 啓動鏡像:docker start 容器的id 例:docker start 43e2182aceec

  1. 刪除鏡像:docker rm 容器的id 例:docker rm 43e2182aceec

  2. 啓動一個作了端口映射的tomcat: 啓動的總體命令相同,須要加上一個 -p: 將主機的端口映射到容器的一個端口 主機端口:容器內部的端口,例:docker run --name mytomcat -d -p 8888:8080 tomcat:latest ,這個時候咱們將主機的端口號與容器端口映射,這樣才能在外部直接訪問。

        8. 查看容器日誌:docker logs 容器的id 例:docker logs fc5b1c7c31bb

這是一些基礎命令,想要學習更多的命令請訪問:https://docs.docker.com/engine/reference/commandline/docker/

相關文章
相關標籤/搜索