您好,登錄后才能下訂單哦!
? Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口,兩者之間完全獨立。
特性 | 容器 | 虛擬機 |
---|---|---|
啟動速度 | 秒級 | 分鐘級 |
硬盤使用 | 一般為MB | 一般為GB |
性能 | 接近原生 | 弱于原生 |
系統支持量 | 單擊支持上千個容器 | 一般幾十個 |
隔離性 | 完全屏蔽底層 | 相對獨立 |
鏡像(Image): 類似虛擬機鏡像
容器(Container): 類似linux系統環境,運行和隔離應用。容器從鏡像啟動的時候,docker會在鏡像的最上一層創建一個可寫層,鏡像本身是只讀的,保持不變。
倉庫(Repository): 每個倉庫存放某一類鏡像。
容器、倉庫、鏡像運行關系圖:
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[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
[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 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 倉庫名[:標簽]
創建容器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) |
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。