docker 屬於 linux 容器的一種封裝,提供簡單易用的容器使用介面docker 是伺服器—-客戶端架構。命令列執行docker命令的時候,需要本機有 docker 服務。如果這項服務沒有啟動,可以用下面的命令啟動。
# systemctl 命令的用法
$ sudo systemctl start docker
# service 命令的用法
$ sudo service docker start
docker的使用需要超級使用者許可權,如果避免每次輸入sudo則把docker組新增到超級使用者組:
sudo usermod -ag docker $user
# 列出所有本機image檔案
docker image
ls# 刪除 image 檔案
$ docker image rm [imagename]
docker image pull [library/hello-world]
# 執行image
docker container run [imagename]
docker container run -it ubuntu bash
不會自動停止的映象,需要手動kill:
docker container kill [container id]
刪除container檔案:
docker container rm [container id]
顯示正在執行的容器檔案和所有的容器檔案
docker container
lsdocker container
ls --all
為了推廣自己的軟體,編寫自己的dockerfile很重要. 編寫dockerfile的步驟如下:
新建乙個.dockerignore
.git
node_modules
npm-debug.log
...
新建乙個dockerfile
from node:8.4
run npm install --registry=
.taobao
.org
expose 3000
建立image檔案
使用命令
docker image build -t koa-demo .
# 或者
$ docker image build -t koa-demo:
0.0.1 .
上面**中,-t引數用來指定 image 檔案的名字,後面還可以用冒號指定標籤。如果不指定,預設的標籤就是latest。最後的那個點表示 dockerfile 檔案所在的路徑,上例是當前路徑,所以是乙個點
4.檢視新生成的image檔案
```
docker image ls
```
生成容器
# 或者
$ docker container run -p 8000:3000 -it koa-demo:0.0
.1 /bin/bash
關閉容器
docker 容器的虛擬環境裡面,程序接觸到的檔案系統和網路介面都是虛擬的,與本機的檔案系統和網路介面是隔離的,因此需要定義容器與物理機的埠對映(map)。
現在,在容器的命令列,按下 ctrl + c 停止 node 程序,然後按下 ctrl + d (或者輸入 exit)退出容器。此外,也可以用docker container kill終止容器執行。
注意,關閉容器不會刪除容器檔案:可以使用docker container run命令的–rm引數,在容器終止執行後自動刪除容器檔案
docker container run --rm -p
8000:3000
-it koa-demo /bin/bash
cmd命令
dockerfile中可以配置乙個cmd命令.
from node:8.4
run npm install --registry=
.taobao
.org
expose 3000
cmd node demos/01.js
cmd和run的區別,run會寫進image. 乙個dockerfile可以有很多個run,但是只有乙個cmd. 如果輸入命令時加入了cmd引數,那麼會覆蓋原有的cmd命令.比如
/bin/bash
就會覆蓋掉node demos/01.js
首先命令列中登入
docker login
然後將打包出來的image標註一下使用者名稱和版本
docker image tag
[imagename]
[username]
/[repository]:[
tag]
docker image tag koa-demos:0.0
.1 ruanyf/koa-demos:0.0
.1
如果不標註使用者名稱就重新構建一下檔案:(注意點不要掉,表示當前資料夾)
docker image build -t
[username]
/[repository]:[
tag]
.
發布image檔案
docker image push [username]/[repository]:[tag]
docker container start id
用來啟動乙個已經存在的容器
docker container stop id
停止乙個容器
docker container logs id
如果執行時沒有加-it引數,使用此命令去檢視terminal輸出
docker container exec
docker container exec命令用於進入乙個正在執行的 docker 容器。如果docker run命令執行容器的時候,沒有使用-it引數,就要用這個命令進入容器。一旦進入了容器,就可以在容器的 shell 執行命令了。
docker container exec -it [containerid] /bin/bash
docker container cp
docker container cp命令用於從正在執行的 docker 容器裡面,將檔案拷貝到本機。下面是拷貝到當前目錄的寫法。
docker container cp [containid]:[/path/to/file] .
docker學習記錄
docker 使用 記錄 列出全部本地映象 docker images 搜尋dockerhub有的docker映象 docker search 關鍵字 啟動乙個容器並啟動bash 互動方式 docker run i t 映象名 容器id bin bash 啟動容器以後臺方式執行 更常用 docker...
Docker學習記錄
一 docker概述 通過docker解決業務中中的問題,官網介紹的關鍵場景為 keep it 簡化 move fast 方便 collaborate 合作 基於cli工作流使各種技能水平的開發人員都可以訪問構建,共享和執行容器化應用程式,一次封裝,隨處執行 確保了正式環境與開發環境一致化,決絕了 ...
docker學習記錄
docker 使用 記錄 列出全部本地映象 docker images 搜尋dockerhub有的docker映象 docker search 關鍵字 啟動乙個容器並啟動bash 互動方式 docker run i t 映象名 容器id bin bash 啟動容器以後臺方式執行 更常用 docker...