? Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的鏡像中,然后發(fā)布到任何流行的 Linux或Windows 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會有任何接口,兩者之間完全獨(dú)立。
我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、阿合奇ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的阿合奇網(wǎng)站制作公司
特性 | 容器 | 虛擬機(jī) |
---|---|---|
啟動速度 | 秒級 | 分鐘級 |
硬盤使用 | 一般為MB | 一般為GB |
性能 | 接近原生 | 弱于原生 |
系統(tǒng)支持量 | 單擊支持上千個(gè)容器 | 一般幾十個(gè) |
隔離性 | 完全屏蔽底層 | 相對獨(dú)立 |
鏡像(Image):類似虛擬機(jī)鏡像
容器(Container):類似linux系統(tǒng)環(huán)境,運(yùn)行和隔離應(yīng)用。容器從鏡像啟動的時(shí)候,docker會在鏡像的最上一層創(chuàng)建一個(gè)可寫層,鏡像本身是只讀的,保持不變。
倉庫(Repository):每個(gè)倉庫存放某一類鏡像。
容器、倉庫、鏡像運(yùn)行關(guān)系圖:
[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 <
搜索鏡像
docker search 關(guān)鍵字
獲取鏡像
docker pull 倉庫名[:標(biāo)簽]
查看已存在的所有鏡像
docker images
實(shí)例:
[root@localhost data]# docker images
REPOSITORY(倉庫) TAG(標(biāo)簽) IMAGE ID(鏡像ID) CREATED(創(chuàng)建時(shí)間)
nginx latest 231d40e811cd 4 weeks ago
查看鏡像信息
docker images 倉庫名[:標(biāo)簽]
docker inspect 鏡像ID號
更改原有標(biāo)簽
docker tag 原名稱[:原標(biāo)簽] 新名稱[:新標(biāo)簽]
刪除鏡像
docker rmi 倉庫名[:標(biāo)簽]
導(dǎo)出鏡像docker save -o 保存文件名 保存的鏡像名
載入鏡像docker load --input 保存文件名
docker load < 保存文件名
上傳鏡像docker push 倉庫名[:標(biāo)簽]
創(chuàng)建容器docker create [選項(xiàng)] 運(yùn)行的鏡像 /bin/bash環(huán)境
常用選項(xiàng):
“-i” 容器的標(biāo)準(zhǔn)輸入常開
“-t” 讓docker分配一個(gè)偽終端
查看容器運(yùn)行狀態(tài)docker ps [選項(xiàng)]
常用選項(xiàng):
“-a” 列出最近一次啟動的容器
案例
CONTAINER ID(容器ID) IMAGE(鏡像名) COMMAND(環(huán)境) CREATED(建立時(shí)間) STATUS(狀態(tài)) 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/名稱
創(chuàng)建容器并啟動執(zhí)行shell命令docker run [選項(xiàng)] 容器名 執(zhí)行的命令
常用選項(xiàng):
“-d” 在后臺運(yùn)行
run 執(zhí)行鏡像流程:
創(chuàng)建容器→啟動容器→進(jìn)入容器執(zhí)行命令→退出容器
若鏡像不存在則會多出下載鏡像這一步
實(shí)例
//以/usr/bin/bash交互模式,啟動paigeeworld/centos7容器,執(zhí)行l(wèi)s /命令
docker run paigeeworld/centos7 /usr/bin/bash -c ls /
進(jìn)入容器docker exec [選項(xiàng)] 容器ID/名稱 /bin/bash
#以交互模式執(zhí)行容器
導(dǎo)出容器docker export 容器ID/名稱 > 保存文件名
導(dǎo)入容器(僅能導(dǎo)入容器中的鏡像,容器需要手動創(chuàng)建)cat 保存文件名 | docker import -生成的鏡像名:標(biāo)簽
刪除容器docker rm [選項(xiàng)] 容器ID/名稱
批量刪除容器docker ps -a | awk '{"docker rm "$1}' | bash
exec與run的區(qū)別:
exec | run |
---|---|
退出后不會影響容器狀態(tài)(進(jìn)去前:up 退出后:up) | 退出后會改變?nèi)萜鳡顟B(tài)(進(jìn)去前:up 退出后:exited) |