二、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