1. 程式人生 > >docker 的簡介、安裝以及常用命令

docker 的簡介、安裝以及常用命令

save 數據 信息 概念 虛擬 有效 他還 特殊 編程

docker 的簡介、安裝以及常用命令

一、docker 是什麽

docker 是一個開源的應用容器引擎,基於 go 語言,開發者可以打包他們的應用以及依賴到一個可移植的容器中,這個容器可以發布到任何裝有 docker 軟件的 linux 機器上。

docker 有 4 個組成部分

  1. docker 客戶端(client)

  2. docker 守護進程(daemon)

  3. docker 鏡像(image)

  4. docker 容器(container)

二、為什麽要使用 docker

(1) 快速部署。

上面說到了,開發者可以打包的他們的應用和依賴到一個可移植的容器中,也就是說,你開發一套軟件,你只要將這套軟件配置在一個可移植的容器中,後續的部署也就只是復制這個可移植的容器。

(2) 有效的利用資源

說到可移植,我們當然就想到了虛擬機。但是虛擬機包含一個完整的操作系統,容器裏面只包含了自己開發的應用和應用所依賴的組件,所以,容器占用的體積很小。虛擬機運行的時候,會運行一些系統自帶的服務,從而會造成一些資源的浪費,而容器直接運行在宿主機器上。

(3) 啟動快

因為容器直接運行在宿主機器上,是軟件的層面的啟動,所以啟動速度非常快。

三、docker 的安裝

3.1 ubuntu 下的安裝

(1)

sudo apt-get update

(2)

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

(3)

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

(4)

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

(5)

sudo apt-get update

(6)

sudo apt-get install docker-ce

3.2 centos 下的安裝

(1)

cd /etc/yum.repos.d

(2)

wget https://download.docker.com/linux/centos/docker-ce.repo

(3)

sudo yum install docker-ce -y

四、幾個概念

4.1 鏡像

docker 的鏡像是一個特殊的文件的系統,裏面包含了自己開發的應用和應用所依賴的組件,同時他還可以提供一些配置參數(環境變量和匿名卷),在運行容器的時候可以動態賦值。

4.2 容器

容器是鏡像運行的實體。

4.3 容器和鏡像之間的關系

鏡像相當於面向對象編程當中的類,而容器就是這個類(鏡像) new 出來的一個實例。

五、docker 的常用命令

5.1 系統相關命令

(1) docker -v : 查看版本信息

(2) docker version : 查看版本信息

(3) docker info : 查看軟件信息

(4) systemctl restart docker : 重啟 docker

5.2 鏡像相關命令

(1) 拉取一個鏡像 : docker pull image_name:version

image_name 指的是鏡像的名稱,version 指的是鏡像的版本

(2) 顯示本機所有的鏡像 : docker images

(3) 生成一個鏡像 : docker image build -t image_name:version path

image_name 生成鏡像的名稱,version 生成鏡像的版本,path 指的是 Dockerfile 文件所在的路徑

(4) 刪除一個鏡像 : docker image rm image_name/image_id

刪除一個鏡像,指定鏡像的名稱或者鏡像 id

(5) 導出一個鏡像 : docker save -o save_image_name image_name ,例如 docker save -o nginx.tar nginx

-o 參數後面表示保存到本地的鏡像名稱,最後一個表示 docker 內部鏡像的名稱

(6) 載入鏡像 : docker load --input nginx.tar

5.3 容器相關命令

(1) 顯示所有容器 : docker ps -a

(2) 運行一個容器 :docker run options image_name/image_id cmd

options

-d : 表示以 "守護模式" 執行,日誌不會出現在輸出終端上

--name : 給容器取個名字, 格式 --name container_name

-p : 表示宿主機與容器的端口映射,格式 -p 8081:80 將宿主主機的 8081 端口,映射到容器的 80 端口。

-v : 表示需要將本地哪個目錄掛載到容器中, 格式:-v <宿主機目錄>:<容器目錄>,-v 標記來創建一個數據卷並掛載到容器裏。在一次 run 中多次使用可以掛載多個數據卷。

-it : 容器的 Shell 映射到當前的 Shell,然後你在本機窗口輸入的命令,就會傳入容器。通常與 cmd 一起使用。

(3) 停止一個容器 : docker container stop container_name/container_id

(4) 刪除一個容器 : docker container rm container_name/container_id

(5) 重啟一個容器 : docker container restart container_name/container_id

docker 的簡介、安裝以及常用命令