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...