1. 程式人生 > >二、docker 映象容器常用操作(讓我們用docker 溜得飛起)

二、docker 映象容器常用操作(讓我們用docker 溜得飛起)

前言

上篇講了我們如何安裝docker,現在該我們一展拳腳的時候了。接下來讓我們一起學習一下docker常見的操作,讓我們能夠會使用 docker。

基本概念

在講使用之前,還是先將一下docker 的基本概念,畢竟上篇就講了docker 的安裝。一些基本的名詞還是需要了解一下的。
docker 最重要的就是映象和容器了,還有一個倉庫。

那什麼是docker 映象呢?

docker 映象就相當於一個 root 檔案系統,不僅包含容器執行的程式和資源,還包含執行依賴的配置。但是映象不包含任何動態的資料。

通俗的來講就像是我們專案執行需要各種依賴和配置以及各種部署。然後我們將這些環境和程式都打包在一起,形成一個可以直接執行的包。就相當於是docker映象,將所有需要的環境都整合在一起。在哪都可以執行。

docker 映象是分層儲存的。docker映象在構建的時候是一層層構建的前一層是後一層的基礎,使得映象在複用、定製變得更加簡單。也由於映象是分層儲存的,所以映象顯示的size 大小並不是實際佔用的實體記憶體。因為有很多中間映象都是公用的。所以實際佔用的記憶體會比顯示的size要小。

檢視容器實際的佔用的記憶體使用

docker  system df

現在知道映象了,那映象怎麼使用呢?

那就是通過容器啦,容器和映象的關係就像是 物件和例項的關係。也就是說根據映象建立一個可以直接執行的容器。容器是映象的具體體現,所以容器就有建立,啟動,停止,刪除等操作。

映象的使用

好了,前面知道了什麼是docker 映象和容器,那現在就我們來看看怎麼使用他們吧。

下載映象

我們安裝好docker 後,怎麼獲取映象呢?和git 拉取一樣也是使用pull.

docker pull 

詳細的引數使用可以通過docker pull --help 來檢視

比如我們現在下載一個nginx的景象

docker pull nginx

預設會下載latest 的映象,表示下載最新的映象。也可以下載穩定版本的,或者下載指定版本的。

docker pull nginx:stable

docker pull nginx:1.16

查詢映象

我們映象下載下來了,我們怎麼檢視我們電腦上有哪些映象呢?
其實上面我已經用了

docker image ls 
或者
docker images 兩者的效果是一樣的。

具體使用一樣的可以使用docker image --help。我們接下來將我們常用的。
查詢顯示虛懸映象

docker images -f dangling=true

虛懸映象是沒有作用的,佔用記憶體空間,虛懸映象怎麼來呢?一般是我們下載映象,依賴一些中間映象,然後我們刪除了下載的映象,但是隻是刪除了上層映象,依賴的映象沒有刪除。這樣沒有依賴的中間映象就成了虛懸映象,是可以刪除的。

刪除虛懸映象

docker image prune

其他的一些查詢操作。

#列出中間層映象
docker images -a
#列出部分映象
docker images 倉庫名

#過濾
docker images -f since=倉庫名
docker images -f before=倉庫名

刪除映象

我們現在知道怎麼拉取映象,以及在本地檢視映象,那我們想要刪除映象怎麼刪除呢?

docker image rm 映象id

我們可以通過映象id 來刪除映象,並且不用完整的映象id ,只要可以做唯一區分就好了。

除了通過映象id 來刪除映象,還可以通過以下的幾種方式來刪除,更過的可以通過docker image rm --help來檢視

# 刪除所有倉庫名為***的映象
docker image rm $(docker images -q 倉庫名)

# 刪除倉庫名在***之前的映象
docker image rm $(docker images -q -f before=倉庫名)

容器的使用

上面講了映象的獲取檢視刪除操作,那我們怎麼根據映象來操作相關的容器呢?

建立和啟動

前面說了映象和容器的關係就像是物件和例項的關係。我們一般使用都是使用例項,一樣的我們docker使用也是使用docker容器。
那我們怎麼根據映象來建立容器並使用它呢?
使用

docker run  

比如我們前面下載了那麼多Nginx,我們現在啟動你nginx 試試。

docker run -p 8080:80 nginx:stable

-p 是用來指定對映埠的,8080是我們設定訪問那個埠,80 是Nginx本身的埠。也可以後臺啟動

docker run -d -p 8180:80 nginx:stable

設定容器name

docker run --name myNginx -d -p 8280:80 nginx:stable 

我們現在在瀏覽器上訪問一下8080,8081,8082這幾個埠,應該都可以訪問的。

終止容器

上面的容器啟動了,我們現在想要停止容器,我們該怎麼做呢?
如果我們沒有後臺啟動,想要終止容器的話,直接Ctrl+C 就可以退出來。如果我們是後臺啟動的,我們就需要通過

docker container stop 容器id


可以看到,刪除的時候一樣的不需要完整的id ,只要可以唯一區分就可以。

檢視容器

其實上面已經用到了如何查詢容器。

docker container ls

這個是檢視正執行的容器。檢視所有容器使用

docker containe la -a 

更多的命令可以檢視

docker container ls --help


上圖可以看到我已經停止了三個Nginx容器。用 -a 才會顯示。

重啟容器

我們又想將關的容器重新啟動,那怎麼做

docker container start 容器id

#重啟執行中的容器
docker container restart 容器id

刪除容器

docker container rm 容器id

# 刪除執行中的容器
docker container -f  容器id

# 刪除所有沒有執行的容器
docker container prune

番外

到此為止,我們常用的映象和容器的操作就會使用啦。都是一些命令。忘記的可以--help 檢視一下。

好了,就說這麼多啦

後續加油♡

歡迎大家關注個人公眾號 "程式設計師愛酸奶"

分享各種學習資料,包含java,linux,大資料等。資料包含視訊文件以及原始碼,同時分享本人及投遞的優質技術博文。

如果大家喜歡記得關注和分享喲❤

相關推薦

docker 映象容器常用操作(我們docker )

前言 上篇講了我們如何安裝docker,現在該我們一展拳腳的時候了。接下來讓我們一起學習一下docker常見的操作,讓我們能夠會使用 docker。 基本概念 在講使用之前,還是先將一下docker 的基本概念,畢竟上篇就講了docker 的安裝。一些基本的名詞還是需要了解一下的。 docker 最重要的就是

docker學習筆記()——映象常用操作

上一篇文章介紹了docker在centos中的安裝過程及核心概念講解,這一篇我們主要講解映象的常用操作。 1. 獲取映象 命令: docker pull <域名>/<namespace>/<repo>:<tag&g

容器常用操作 - 每天5分鐘玩轉 Docker 容器技術(25)

技術 order position 自動 code lec 資源 add 服務 前面討論了如何運行容器,本節學習容器的其他常用操作。 stop/start/restart 容器 通過 docker stop 可以停止運行的容器。 容器在 docker host 中實際上是

Docker 映象容器 之 匯出匯入上傳映象到 DockerHub 上Nexus私庫 的引入

一、前言 之前的 docker 技術的使用,筆者僅僅是體驗 solr、mysql、Tomcat、zookeeper、ElasticSearch 等 無配置暢爽。 最近在 Python+Spark 大資料方面的研究,涉及到 docker 映象製作方案和叢集網路

docker-容器常用操作

檢視容器日誌:docker logs -f <容器名orID> 檢視正在執行的容器:docker psdocker ps -a為檢視所有的容器,包括已經停止的。docker ps -a -q  檢視容器的ID 刪除所有容器:docker rm $(docker ps -a -q)刪除單個容器doc

025容器常用操作(2019-01-18 周五)

pbo art man stat com style 自動重啟 cli run 參考https://www.cnblogs.com/CloudMan6/p/6952115.html 容器常用操作命令,很多命令在前面鏡像章節已經使用過,這裏不再演示 docke

5分鐘學會Docker核心概念安裝埠對映及常用操作命令

                                             Docker 一、Docker簡介 Docker是開源應用容器引擎,輕量級容器技術。 基於Go語言,並遵循Apache2.0協議開源 Docker可以讓開發

oracle sql*plus常用命令

最大 tab 用戶 evel ref connect 實現 維護 沒有 一、sys用戶和system用戶Oracle安裝會自動的生成sys用戶和system用戶(1)、sys用戶是超級用戶,具有最高權限,具有sysdba角色,有create database的權限,該用戶默

mysql基礎知識之-數據庫的創建查看等常用操作

nbsp 報錯 mysq del article 文檔 sele 結構 log 命令創建mysql數據庫: 先啟動mysql數據庫,連接數據庫:   mysql -uroot -p123456 (語法:mysql -u登錄名 -p密碼) 創建表:   cre

Docker容器常見操作

some ports ctrl+ exec 信息 參數說明 守護 all -h 一、啟動容器 啟動容器有兩種方式,一種是基於鏡像新建一個容器並啟動,另外一個是將在終止狀態(stopped ) 的容器重新啟動。因為 Docker 的容器實在太輕量級了,很多時候用戶都是隨時刪除

mysql資料庫之基本操作和儲存引擎

一、知識儲備 資料庫伺服器:一臺計算機(對記憶體要求比較高) 資料庫管理系統:如mysql,是一個軟體 資料庫:oldboy_stu,相當於資料夾 表:student,scholl,class_list,相當於一個具體的檔案 記錄:1 susan &nb

docker swarm的常用操作

  1. 說明        本文件針對docker swarm操作。        針對的系統是以一個本地的測試系統為例。其中機器資訊如下,172.16.1.13作為doc

建立資料庫並分配操作許可權

1、建立資料庫 <1>進入資料庫 mysql -u root -p mysql <2>檢視資料庫,並建立新的資料庫 show databases; #檢視資料庫 create database meiduo32 charset=utf

spark SQL互動scala操作示例

一、安裝spark spark SQL是spark的一個功能模組,所以我們事先要安裝配置spark,參考: https://www.cnblogs.com/lay2017/p/10006935.html 二、資料準備 演示操作將從一個類似json檔案裡面讀取資料作為資料來源,並初始化為dat

Docker介紹及常用操作演示--技術流ken

scrip imp rest comment 建議 tar ani 資源 端口 Docker簡介 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的Linux機器上,也可以實現虛擬化。容器是完

(1)Docker映象容器製作教程

基礎映象,Docker容器製作:          https://www.cnblogs.com/niloay/p/6261784.html          https://blog.cs

SSH整合步驟配置Spring容器

因為struts匯入了整合spring的jar包,所以專案啟動時,會自動找spring的容器,如果找不到會報錯,所以最好先配置spring容器。 注意:因為整合步驟可能需要很多操作和配置的書寫,所以最好做一步測一步,不要全部配置完後才測試。 匯入約束(四個): 1. beans

yii2的請求(request)響應與跳轉(response)緩存(session)常用操作

rect() sse response 其他 agent 終端 str accep n) 一、yii2 request操作Yii::$app->request->get();//等價於:$_GET;Yii::$app->request->post()

三十五HDFS的FileSystem常用操作

package com.yang.hdfs; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import org.apache.had

Docker映象製作使用操作流程(以bcc-explorer專案為例)

Docker映象製作使用流程(以bcc-explorer專案為例) bcc-explorer專案是最近實習時做的一個專案,這裡只是用來舉例說明docker的用法,具體專案內容不是重點。 1 編寫dockerfile檔案 1) 進入bitcore-node