Docker學習記錄

2021-08-22 05:06:04 字數 3583 閱讀 5916

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