docker學習(鏡像,倉庫,容器)

首先來說,在centos7下,我們要使用docker,就需要先進行服務的啓動

systemctl start docker

接下來,我們就剋進行相關的操作
我們可以使用pull命令,完成鏡像的拉取,不過要注意的是,這裏的拉取,會現在本機尋找,如果本機沒有的話,就可以去大倉庫找到合適的資源,拉取下來,以tomcat的鏡像爲例,拉取其鏡像

docker pull tomcat

在這裏插入圖片描述
可以看到,鏡像被成功拉取,要說明的是,到底什麼是鏡像,鏡像就是一個模板,用來創造一個又一個實例,實現不同的功能
下面是用命令獲取到本機所有的鏡像

docker images

這個命令可以獲取到本機的所有鏡像,但是往往我們會使用條件使得結果更加客觀,加上-q 只顯示鏡像的ID,加上-a 則顯示所有的鏡像

docker images -qa

在這裏插入圖片描述
這裏要說明另外一個比較重要的特點,那就是鏡像的分層特性,鏡像並不是簡單的安裝包,以tomcat爲例,官網的壓縮包開箱即用大小不超過20mb,而在這裏直接上了500mb,爲什麼呢,因爲tomcat依賴於java,java又必須運行在虛擬機上,這樣一層套一層的花捲結構就使得一個鏡像的體積會比較大,同時它又是小的,因爲對於一些鏡像,它會閹割掉很多不必要的功能
在這裏插入圖片描述
我們接下來學習其他的命令
先介紹鏡像的刪除命令rmi

docker rmi tomcat

我們可以通過指定鏡像名或者鏡像ID的方式移除指定的鏡像,當然這裏存在一個強制刪除的符號-f,所以命令就變成了

docker rmi -f tomcat

在這裏插入圖片描述
當然,如果我們想要刪除一些鏡像,而不是一個鏡像的時候,我們只需要在rmi後面寫上多個鏡像名即可

docker rmi nginx tomcat redis

,而如果我們想要刪除所有鏡像,我們就需要用到一個類似於sql裏面子查詢的一個指令

docker rmi -f $(docker images -qa)

這樣做的結果就是,會刪除所有的已經安裝過的鏡像

下面介紹容器的相關命令
首先最簡單的命令,新建並啓動容器

docker run centos

我們可以在run後面加上參數,-i,表示以交互模式運行容器,-t表示出現一個僞終端並進入,執行相應的操作,使用-d則是啓動守護式容器,在後臺運行
也就是

docker run -it centos

在這裏插入圖片描述
可以看到,centos已經正常的啓動起來,但是有的時候不能簡單的啓動,我們需要使用指定的端口,比如tomcat的啓動,就需要使用8080端口,所以我們可以在加上幾個參數,來實現這個功能

docker run -it tomcat -d 8080:8080

對於結束容器的方式有兩種,分別有不同的含義

  1. stop命令,緩和的停止容器
  2. kill,強行關閉容器
    這些指令比較簡單

使用ps命令可以看到容器的狀態,當然這裏的容器包括正在運行的和已經停止的,不過同樣的操作,他也有相應的參數,來實現不同的功能
在這裏插入圖片描述

  1. -a 顯示創建的所有容器,包括已經停止的容器
  2. -l 顯示最近的容器
  3. -n num 顯示最近的num個容器
  4. -q 顯示所有容器的id,同樣可以用來批量刪除容器

而如果要刪除容器,則是使用rm指令你個,需要注意的是rmo是刪除鏡像,rm是刪除容器

docker rm -f centos

結合前面的ps指令你個,我們不難得出刪除多個容器的命令

docker rm -f $(docker ps -qa)

對於已經退出的容器,我們有應該怎麼重新進入容器呢
docker提供了attach命令,我們可以這樣進入已經退出但是沒有關閉的容器

docker attach contain_id

在這裏插入圖片描述
我麼也可以使用logs命令,查詢到容器打印出的日誌,方便我們進一步工作

docker logs -ft --tail container_id
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章