一、Docker概述
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口,兩者之間完全獨立。
二、與虛擬機的比較
三、Docker核心概念
鏡像(Image): 類似虛擬機鏡像
容器(Container): 類似linux系統環境,運行和隔離應用。容器從鏡像啓動的時候,docker會在鏡像的最上一層創建一個可寫層,鏡像本身是隻讀的,保持不變。
倉庫(Repository): 每個倉庫存放某一類鏡像。
容器、倉庫、鏡像運行關係圖:
四、Docker基本部署
1、安裝環境包
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 關鍵字
2、獲取鏡像
docker pull 倉庫名[:標籤]
3、查看已存在的所有鏡像
docker images
4、查看鏡像信息
docker images 倉庫名[:標籤]
docker inspect 鏡像ID號
5、更改原有標籤
docker tag 原名稱[:原標籤] 新名稱[:新標籤]
6、刪除鏡像
docker rmi 倉庫名[:標籤]
7、導出鏡像
docker save -o 保存文件名 保存的鏡像名
8、載入鏡像
docker load --input 保存文件名
docker load < 保存文件名
9、上傳鏡像
docker push 倉庫名[:標籤]
(二)容器篇
1、創建容器
docker create [選項] 運行的鏡像 /bin/bash環境
常用選項:
“-i” 容器的標準輸入常開
“-t” 讓docker分配一個僞終端
2、查看容器運行狀態
docker ps [選項]
常用選項:
“-a” 列出最近一次啓動的容器
3、啓動容器
docker start 容器ID/名稱
4、終止容器
docker stop 容器ID/名稱
5、創建容器並啓動執行shell命令
docker run [選項] 容器名 執行的命令
常用選項:
“-d” 在後臺運行
run 執行鏡像流程:
創建容器→啓動容器→進入容器執行命令→退出容器
若鏡像不存在則會多出下載鏡像這一步
實例
//以/usr/bin/bash交互模式,啓動paigeeworld/centos7容器,執行ls /命令
docker run paigeeworld/centos7 /usr/bin/bash -c ls /
6、進入容器
docker exec [選項] 容器ID/名稱 /bin/bash
#以交互模式執行容器
7、導出容器
docker export 容器ID/名稱 > 保存文件名
8、導入容器(僅能導入容器中的鏡像,容器需要手動創建)
cat 保存文件名 | docker import -生成的鏡像名:標籤
9、刪除容器
docker rm [選項] 容器ID/名稱
10、批量刪除容器
docker ps -a | awk '{"docker rm "$1}' | bash