docker入門例項

2021-08-31 18:52:37 字數 2728 閱讀 2208

docker 把應用程式及其依賴,打包在 image 檔案裡面。只有通過這個檔案,才能生成 docker 容器。image 檔案可以看作是容器的模板。docker 根據 image 檔案生成容器的例項。同乙個 image 檔案,可以生成多個同時執行的容器例項。

image 是二進位制檔案。實際開發中,乙個 image 檔案往往通過繼承另乙個 image 檔案,加上一些個性化設定而生成。舉例來說,你可以在 ubuntu 的 image 基礎上,往裡面加入 apache 伺服器,形成你的 image。

# 列出本機的所有 image 檔案。

$ docker image ls

# 刪除 image 檔案

$ docker image rm [imagename]

image 檔案是通用的,一台機器的 image 檔案拷貝到另一台機器,照樣可以使用。一般來說,為了節省時間,我們應該盡量使用別人製作好的 image 檔案,而不是自己製作。即使要定製,也應該基於別人的 image 檔案進行加工,而不是從零開始製作。

為了方便共享,image 檔案製作完成後,可以上傳到網上的倉庫。docker 的官方倉庫 docker hub 是最重要、最常用的 image 倉庫。此外,**自己製作的 image 檔案也是可以的。

下面,我們通過最簡單的 image 檔案"hello world",感受一下 docker。

$ docker image pull library/hello-world
上面**中,docker image pull是抓取 image 檔案的命令。library/hello-world是 image 檔案在倉庫裡面的位置,其中library是 image 檔案所在的組,hello-world是 image 檔案的名字。

由於 docker 官方提供的 image 檔案,都放在library

組裡面,所以它的是預設組,可以省略。因此,上面的命令可以寫成下面這樣。

$ docker image pull hello-world
抓取成功以後,就可以在本機看到這個 image 檔案了。

$ docker image ls
$ docker container run hello-world
docker container run命令會從 image 檔案,生成乙個正在執行的容器例項。

注意,docker container run命令具有自動抓取 image 檔案的功能。如果發現本地沒有指定的 image 檔案,就會從倉庫自動抓取。因此,前面的docker image pull命令並不是必需的步驟。

如果執行成功,你會在螢幕上讀到下面的輸出。

$ docker container run hello-world

hello from docker!

... ...

輸出這段提示以後,hello world就會停止執行,容器自動終止。

有些容器不會自動終止,因為提供的是服務。比如,安裝執行 ubuntu 的 image,就可以在命令列體驗 ubuntu 系統。

$ docker container run -it ubuntu bash
對於那些不會自動終止的容器,必須使用

docker container kill

命令手動終止。

$ docker container kill [containid]
image 檔案生成的容器例項,本身也是乙個檔案,稱為容器檔案。也就是說,一旦容器生成,就會同時存在兩個檔案: image 檔案和容器檔案。而且關閉容器並不會刪除容器檔案,只是容器停止執行而已。

# 列出本機正在執行的容器

$ docker container ls

# 列出本機所有容器,包括終止執行的容器

$ docker container ls --all

上面命令的輸出結果之中,包括容器的 id。很多地方都需要提供這個 id,比如上一節終止容器執行的docker container kill命令。

終止執行的容器檔案,依然會佔據硬碟空間,可以使用

docker container rm

命令刪除。

$ docker container rm [containerid]
執行上面的命令之後,再使用docker container ls --all命令,就會發現被刪除的容器檔案已經消失了。

docker入門 docker安裝

docker入門 docker安裝 ubuntu 安裝 curl ssl sh 官方安裝指令碼自動安裝 systemctl enable docker systemctl is enabled docker 開機自啟動 sudo usermod ag docker npoulton 根據自己的使用者...

Docker(一) Docker入門簡介

docker是一種容器技術,是用於在某種程度上替換系統虛擬化的解決方案。使用docker可以很快速及便捷的交付應用,不用在考慮硬體及系統的相容性,使而更關注與業務的發展。docker 和硬體虛擬化方式的差異在於docker是在os層面上實現虛擬化,而基於硬體虛擬化方式則是在hw層面實現。p.s.來自...

Docker基礎 天池Docker入門

容器 container 容器是執行中的映象,他的實質是程序,通過docker ps可以檢視執行中的容器。倉庫 repository 首先我們需要登陸乙個伺服器docker registry,然後每個registry上可以包含多個repository,每個repository下可以多個tag相當於不...