1、什么是docker容器
容器它是一個相對獨立的運行環境,和虛擬機差不多但是還是和虛擬機有很大差別,容器的運行應該最小化其對外界的影響,做到合理的控制宿主機的資源,
容器映像是一個軟體的輕量級獨立可執行軟體包,包含運行它所需的一切:代碼,運行時,系統工具,系統庫,設定,不管環境如何,集裝箱化軟體都可以運行相同的Linux和Windows應用程式,容器將軟體與其周圍環境隔離開來,例如開發環境和登臺環境之間的差異,并有助于減少在同一基礎架構上運行不同軟體的團隊之間的沖突,
2、Docker容器的特點
- 1.輕量級
在一臺機器上運行的Docker容器共享該機器的作業系統內核; 他們立即開始并使用更少的計算和記憶體,影像由檔案系統層構建并共享公用檔案,這最大限度地減少了磁盤使用量,影像下載速度更快,
- 2.標準
Docker容器基于開放標準,可在所有主要Linux發行版,Microsoft Windows以及任何基礎架構(包括虛擬機,裸機和云中)上運行,
- 3.安全
Docker容器將應用程式彼此隔離并從底層基礎架構中分離出來,Docker提供了最強大的默認隔離功能,可以將應用程式問題限制在一個容器中,而不是整個機器上,
3、容器的使用
- 鏡像的獲取
使用使用 docker pull (鏡像名)命令來載入鏡像

- 鏡像的洗掉
洗掉鏡像的時候要保證鏡像未被使用,如果存在正在運行的docker容器,洗掉會報錯“Error: container_delete: Impossible to remove a running container, please stop it first”
docker images可以列出當前服務器上所有存在的docker鏡像
docker rmi 容器id來洗掉一個鏡像,如圖所示,因為鏡像是采用分層存盤,所以洗掉時,顯示很多標簽

docker image -q #列出所有的鏡像ID
docker rmi `docker image -q` #洗掉所有的鏡像
- 鏡像和容器
Docker鏡像:docker 的鏡像概念類似虛擬機的鏡像,是一個只讀的模板,一個獨立的檔案系統,包括運行容器所需的資料,可以用來創建新的容器,( docker create <image -id > :為指定的鏡像添加一個可讀寫層,構成一個新的容器);docker提供了一個很簡單的機制來創建鏡像或更新現有的鏡像,用戶甚至可以從其他人那里下載一個已經做好的鏡像直接使用,(鏡像是只讀的,可以理解為靜態檔案);docker鏡像實際上是由一層一層的系統檔案組成,這種層級的檔案系統被稱為UnionFS( Union file system 統一檔案系統),鏡像可以基于dockerfile構建,dockerfile是一個描述檔案,里面包含了若干條密令,每條命令都會對基礎檔案系統創建新的層次結構,
Docker容器:容器是由鏡像實體化而來,這和我們學習的面向物件的概念十分相似,我們可以把鏡像看作類,把容器看作類實體化后的物件,docker容器類似虛擬機,可以執行包含啟動,停止,洗掉等,每個容器間是相互隔離的,容器中會運行特定的運用,包含特定應用的代碼及所需的依賴檔案,可以把容器看作一個簡易版的linux環境(包含root用戶權限,行程空間,用戶空間和網路空間等)和運行在其中的應用程式,
總結:鏡像是Docker容器的基石,容器是鏡像的運行實體,有了鏡像才能啟動容器,
- 使用docker run 鏡像名 /bin/bash 啟動一個鏡像容器

引數說明:
-i: 互動式操作,
-t: 終端,
-d:后臺啟動
centos: centos鏡像,
/bin/bash:放在鏡像名后的是命令,這里我們希望有個互動式 Shell,因此用的是 /bin/bash,
- 使用exit退出

- 查看所有容器 docker ps -a(docker ps 查看啟動的容器)

-
- 啟動容器 docker start 容器id
- 停止容器 docker stop 容器id
- 重啟容器 docker restart 容器id
- 進入后臺啟動的容器(docker attach 容器id)

- 容器的匯出 docker export 容器id


- 容器的導入 docker import 檔案
cat ./centos7.tar | sudo docker import - cenn:v1
cenn:v1 新鏡像名字

使用 sudo docker images 查看匯入

docker import http://example.com/exampleimage.tgz example/imagerepo 通過連接匯入
- 容器的刪除 docker rm
docker container prune 清除所有處于終止狀態的容器
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/208629.html
標籤:其他
下一篇:幫忙解釋一下這幾題
