Docker 入門教程

2021-08-19 06:20:59 字數 4104 閱讀 2245

冗餘步驟多。 虛擬機器需要完整的作業系統,一些系統級別的操作步驟,往往無法跳過,比如使用者登入。

啟動很慢。啟動作業系統需要多久,啟動虛擬機器就需要多久。可能要等幾分鐘,應用程式才能真正執行。

體積小。 容器只要包含用到的元件即可,而虛擬機器包含整個作業系統,所以容器檔案比虛擬機器檔案要小很多。

啟動快。 啟動容器相當於啟動本機的乙個程序,而不是啟動乙個作業系統,速度就會快很多。

提供彈性的雲服務。因為 docker 容器可以隨開隨關,很適合動態擴容和縮容。

組建微服務架構。通過多個容器,一台機器可以跑多個服務,因此在本機就可以模擬出微服務架構。

企業版(enterprise edition,縮寫為 ee)

windows

ubuntu

debian

centos

fedora

其他 linux 發行版

$ docker version

# 或者

$ docker info

$ sudo groupadd docker

$ sudo usermod -ag docker $user

# service 命令的用法

$ sudo service docker start

# systemctl 命令的用法

$ sudo systemctl start docker

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

$ docker image

ls# 刪除 image 檔案

... ...

$ docker container run -it ubuntu bash
$ docker container kill [containid]
# 列出本機正在執行的容器

$ docker container ls

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

$ docker container ls --all

docker container rm [containerid]
$ docker container start [containerid]
$ git clone

$ cd koa-demos

.git

node_modules

npm-debug

.log

from node:8.4

workdir

runnpm install --registry=

expose

3000

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

$ docker image build -t koa-demo .

# 或者

$ docker image build -t koa-demo:0.0

.1 .

$ docker image

ls

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

# 或者

$ docker container run -p 8000:3000 -it koa-demo:0.0

.1 /bin/bash

-it 引數: 容器的 shell 對映到當前的 shell,然後你在本機視窗輸入的命令,就會傳入容器。

koa-demo:0.0.1: image 檔案的名字(如果有標籤,還需要提供標籤,預設是 latest 標籤)。

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

root@66d80f4aaf1e

#

root@66d80f4aaf1e

# node demos/01.js

# 在本機的另乙個終端視窗,查出容器的 id

$ docker container ls

# 停止指定的容器

$ docker container kill [containerid]

# 查出容器的 id

$ docker container ls --all

# 刪除指定的容器檔案

$ docker container rm [containerid]

$ docker container run

--rm -p 8000:3000 -it koa-demo /bin/bash

from node:8.4

workdir

runnpm install --registry=

expose

3000

cmd node demos/01.js

cmd 命令則是在容器啟動後執行;

dockerfile 檔案可以包含多個 run 命令,但是只能有乙個 cmd 命令。

$ docker container run --rm -p 8000:3000 -it koa-demo:0.0

.1

$ docker login
$ docker image tag

[imagename] [username]/[repository]:[tag]

# 例項

$ docker image tag

koa-demos:0.0.1 my_name/koa-demos:0.0.1

$ docker

image

build -t [username]/[repository]:[tag] .

$ docker image push [username]/[repository]:[tag]
$ docker container start [containerid]
$ bash container stop [containerid]
$ docker container logs [containerid]
$ docker container exec -it [containerid] /bin/bash
$ docker container cp [containid]:[/path/to/file] .

Docker入門教程

mongodb由c 語言編寫,是乙個基於分布式檔案儲存的開源資料庫系統,支援的資料結構為bson格式。我們開始用docker進行部署我們的mongodb。我們從docker的官網找到mongo對應的映象 於是我們進行拉取 我們讓我們的mongodb 跑起來 docker run d p 2017 2...

Docker 一 Docker入門教程

docker client docker 命令列工具,是使用者使用docker的主要方式,docker client與docker daemon通訊並將結果返回給使用者,docker client也可以通過socket或者restful api訪問遠端的docker daemon docker co...

Docker 二 Docker入門教程

docker 是乙個開源的應用容器引擎,基於 go 語言 並遵從apache2.0協議開源。docker 從 17.03 版本之後分為 ce community edition 社群版 和 ee enterprise edition 企業版 我們用社群版就可以了。docker 使用客戶端 伺服器 c...