docker核心概念與命令

2021-09-27 06:12:23 字數 2658 閱讀 4434

docker核心概念

image檔案、container檔案

image檔案

image檔案是乙個二進位制檔案。乙個image檔案通常繼承自另外乙個image檔案(例如docker官網的node image檔案),而後加上一些個性化設定而成。

舉例來說:你可以在ubuntu的image基礎上加上apache伺服器,形成你自己的image。

image製作完成後,可以上傳到網上的倉庫,docker 的官方倉庫 是最重要、最常用的 image 倉庫。

docker命令

image相關命令

列出本機所有image檔案

docker image ls刪除image檔案

docker image rm從docker倉庫拉取image檔案到本地

docker image pull library/hello-world

library是hello-world所在的組,docker官方倉庫預設組就是library,所以可以省略。

docker image pull hello-world自己建立image檔案

docker image build -t imagename

git clone 

$ cd koa-demos

在要打包的應用程式的專案根目錄下,建立乙個文字檔案.dockerignore,用來排除不需打包到image中的檔案。例如

.git

debug.log

再建立乙個dockerfile文字檔案,內容如下

from node:8.4		#該image繼承自官方的node image,冒號表示標籤,這裡表示8.4,即8.4版本的node.

expose 3000 #將容器的3000 埠暴露出來,允許外部連線這個埠

form:繼承自哪個image;		expose  容器要暴露的埠號
最後,建立image,此命令中最後有個.,表示dockerfile檔案的所在目錄,本例是當前目錄,所以用.來表示。

docker image build -t koa-demo:0.0.1 .

發布image檔案到倉庫。例如發布自己的image到docker官方的倉庫,首先需要註冊乙個賬號

登入到docker官網

```docker login ``

為本地的image標註使用者名稱和版本

docker image tag koa-demo:0.0.1 dockeraccount/koa-demo:0.0.1

docker倉庫會直接根據你的dockeraccoutn為你的賬號開闢乙個組。

最後將本地image發布到倉庫

docker image push useraccount/koa-demo:0.0.1

container相關

建立乙個cotainer

docker container run -p 8000:3000 -it useraccount/koa-demo:0.0.1 /bin/bash

-p:本地埠與docker容器的埠的對映關係

-it:容器的shell會對映到當前本地的shell,你在當前視窗中輸入的命令會傳遞到容器中去

/bin/bash:容器啟動後,第乙個執行的命令。這裡是啟用bash,以確保使用者可以使用shell

每執行一次run命令,就會建立乙個新的容器檔案。

2. 檢視所有docker容器的資訊及狀態

docker container ls --all

3. 停止容器的執行,可以用ctrl+c停止程序,或者ctrl+d or exit退出container

docker cotainer kill containerid

或者docker cotainer stop [container_id]

需要注意的是,以上命令只是停止執行,但是並不會刪除容器檔案。

4. 啟動乙個contialer

docker cotainer start [container_id]

5. 自動刪除容器檔案 --rm

docker container run --rm -p 8000:3000 -it koa-demo:0.0.1 /bin/bash

會在容器執行結束後,自動刪除容器檔案

6. 進入容器:如果在啟動容器時,沒有加-it引數,那麼就只能通過以下命令進入容器,然後進入shell執行命令

docker container exec [container_id] /bin/bash

7. 檢視日誌:如果在啟動容器時,沒有加-it引數,那麼就只能通過以下命令檢視輸出

docker container logs [container_id]

8. 從正在執行的容器裡,拷貝檔案到本機

docker container cp [container_id]:/path/to/file

Docker 核心概念

1.docker映象 docker映象 image 類似於虛擬機器映象,可以將它理解為乙個面向docker引擎的唯讀模板,包含了檔案系統。例如 乙個映象可以只包含乙個完整的ubuntu作業系統環境,可以把它稱為乙個ubuntu映象。映象也可以安裝了apache應用程式 或使用者需要的其他軟體 可以把...

Docker核心概念

docker引擎的基礎是基於linux容器 lxc 技術,即容器有效的將由單個作業系統管理的資源劃分到孤立的組中,以便更好地在孤立的組之間平衡有衝突的資源使用需求。docker可以高效的建立應用。docker在運維中的優勢 1.更快的交付和部署。使用docker,開發人員可以使用映象來快速構建一套標...

docker核心概念

docker客戶端 docker客戶端是許多docker使用者與docker互動的主要方式。當您使用諸如docker run之類的命令時,客戶端會將這些命令傳送到守護程序,由守護程序執行這些命令。docker客戶端可以與多個守護程序通訊。docker守護程序 daemon 監聽客戶端請求,並管理do...