Docker基本部署及基本控制命令(理論篇)

Docker基本部署及基本控制命令

Docker概述

​ Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口,兩者之間完全獨立。

與虛擬機的比較

特性 容器 虛擬機
啓動速度 秒級 分鐘級
硬盤使用 一般爲MB 一般爲GB
性能 接近原生 弱於原生
系統支持量 單擊支持上千個容器 一般幾十個
隔離性 完全屏蔽底層 相對獨立

Docker核心概念

鏡像(Image): 類似虛擬機鏡像

容器(Container): 類似linux系統環境,運行和隔離應用。容器從鏡像啓動的時候,docker會在鏡像的最上一層創建一個可寫層,鏡像本身是隻讀的,保持不變。

倉庫(Repository): 每個倉庫存放某一類鏡像。

容器、倉庫、鏡像運行關係圖:

Docker基本部署

1、安裝環境包

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 

2、使用阿里的docker倉庫

[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//安裝docker-ce
[root@localhost ~]# yum install -y docker-ce 

3、鏡像下載加速

[root@localhost docker]# tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors" : ["https://abc1234.mirror.aliyuncs.com"]        //加速器地址由阿里雲官網自行獲取(這裏是隨便寫的)
}
EOF
[root@localhost ~]# systemctl daemon-reload               //刷新全局
[root@localhost ~]# systemctl restart docker

Docker基本控制命令

1、鏡像篇

搜索鏡像

docker search 關鍵字

獲取鏡像

docker pull 倉庫名[:標籤]

查看已存在的所有鏡像

docker images

實例:

[root@localhost data]# docker images
REPOSITORY(倉庫)            TAG(標籤)                 IMAGE ID(鏡像ID)            CREATED(創建時間)
nginx                  latest                   231d40e811cd                             4 weeks ago

查看鏡像信息

docker images 倉庫名[:標籤]

docker inspect 鏡像ID號

更改原有標籤

docker tag 原名稱[:原標籤] 新名稱[:新標籤]

刪除鏡像

docker rmi 倉庫名[:標籤]

導出鏡像
docker save -o 保存文件名 保存的鏡像名

載入鏡像
docker load --input 保存文件名

docker load < 保存文件名

上傳鏡像
docker push 倉庫名[:標籤]

2、容器篇

創建容器
docker create [選項] 運行的鏡像 /bin/bash環境

常用選項:

“-i” 容器的標準輸入常開
“-t” 讓docker分配一個僞終端

查看容器運行狀態
docker ps [選項]

常用選項:

“-a” 列出最近一次啓動的容器

案例

CONTAINER ID(容器ID)        IMAGE(鏡像名)                        COMMAND(環境)                  CREATED(建立時間)             STATUS(狀態)                  PORTS(容器的端口信息和使用的連接類型(tcp\udp))               NAMES(自動分配的容器名稱)
05e073ab47d4                          nginx:latest                                   "/bin/bash"                                  3 hours ago                      Up 3 hours                             80/tcp                                                                                   musing_lovelace

啓動容器
docker start 容器ID/名稱

終止容器
docker stop 容器ID/名稱

創建容器並啓動執行shell命令
docker run [選項] 容器名 執行的命令

常用選項:

“-d” 在後臺運行

run 執行鏡像流程:

創建容器→啓動容器→進入容器執行命令→退出容器
若鏡像不存在則會多出下載鏡像這一步

實例

//以/usr/bin/bash交互模式,啓動paigeeworld/centos7容器,執行ls /命令
    docker run paigeeworld/centos7 /usr/bin/bash -c ls /

進入容器
docker exec [選項] 容器ID/名稱 /bin/bash #以交互模式執行容器

導出容器
docker export 容器ID/名稱 > 保存文件名

導入容器(僅能導入容器中的鏡像,容器需要手動創建)
cat 保存文件名 | docker import -生成的鏡像名:標籤

刪除容器
docker rm [選項] 容器ID/名稱

批量刪除容器
docker ps -a | awk '{"docker rm "$1}' | bash

exec與run的區別:

exec run
退出後不會影響容器狀態(進去前:up 退出後:up) 退出後會改變容器狀態(進去前:up 退出後:exited)
發佈了110 篇原創文章 · 獲贊 21 · 訪問量 6057
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章