溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

docker容器管理和數(shù)據(jù)管理

發(fā)布時間:2020-06-13 07:10:19 來源:網(wǎng)絡(luò) 閱讀:284 作者:wx5c1078d59f836 欄目:云計(jì)算

1、概念

容器類似于一個linux環(huán)境,是通過鏡像創(chuàng)建啟動的,可以理解為在鏡像的最上一層創(chuàng)建一個可讀寫層,鏡像本身是只讀的,容器的讀寫不會改變鏡像。

2、容器管理

2.1容器的創(chuàng)建

#docker run -itd --name nginx1 nginx:latest
基本的創(chuàng)建攜帶 i t d這三個參數(shù)即可,表示的意義分別如下;
-i: 以交互模式運(yùn)行容器,通常與 -t 同時使用;
-d: 后臺運(yùn)行容器,并返回容器ID;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;

nginx1和nginx:latest分別表示創(chuàng)建的容器名和所使用的鏡像,創(chuàng)建完成后使用 docker ps 命令即可看到新建并運(yùn)行的容器
docker容器管理和數(shù)據(jù)管理

#docker run -itd --name nginx2 -p 8080:80 nginx:latest
指定映射端口,將容器中的80端口映射到宿主機(jī)的8080端口上;這樣就可以通過訪問宿主機(jī)的8080端口達(dá)到訪問容器的目的
docker容器管理和數(shù)據(jù)管理

#docker run -itd --name nginx3 --cpus 1 nginx:latest
限制cpu最大可用核數(shù)
docker容器管理和數(shù)據(jù)管理

#docker run -itd --name nginx5 --cpu-shares 512 nginx:latest
設(shè)置cpu的權(quán)重,默認(rèn)值為1024;不設(shè)置或?qū)⑵湓O(shè)置為0,均使用默認(rèn)值;如果5個容器都是默認(rèn)值1024,則平均分配
docker容器管理和數(shù)據(jù)管理

#docker run -itd --name nginx4 -m 100m nginx:latest
限制最大可用內(nèi)存
docker容器管理和數(shù)據(jù)管理

#docker run -itd --name nginx6 -m 100m --oom-kill-disable nginx:latest
默認(rèn)情況下,在出現(xiàn)out-of-memory(OOM)錯誤時,系統(tǒng)會殺死容器內(nèi)的進(jìn)程來獲取更多的內(nèi)存空間;在使用了-m限制容器內(nèi)存后可以將oom-kill禁用
docker容器管理和數(shù)據(jù)管理

2.2容器的查詢

#docker ps
查詢當(dāng)前運(yùn)行的容器
docker容器管理和數(shù)據(jù)管理

#docker ps -a
這里我們先用docker stop nginx1關(guān)閉nginx1容器,再使用-a可以看到所有容器信息
docker容器管理和數(shù)據(jù)管理

#docker ps -aq
查詢所有容器的id號
docker容器管理和數(shù)據(jù)管理

#docker log nginx2
查看容器的日志信息
docker容器管理和數(shù)據(jù)管理

#docker inspect nginx2
用來查詢?nèi)萜鞯脑敿?xì)信息,包含cpu、內(nèi)容、端口、目錄等信息

#docker top nginx2
查詢?nèi)萜鞯倪M(jìn)程信息
docker容器管理和數(shù)據(jù)管理

#docker port nginx2
查看容器的端口映射
docker容器管理和數(shù)據(jù)管理

#docker stats nginx2
實(shí)時查看容器的資源利用率
docker容器管理和數(shù)據(jù)管理

2.3操作容器

#docker exec -it nginx2 bash
進(jìn)入容器,退出后容器仍然為運(yùn)行狀態(tài)

#docker cp /tmp/test.txt nginx2:/tmp
拷貝文件到nginx2容器的/tmp目錄下;將容器內(nèi)的文件拷貝到宿主機(jī)則相反

#docker start|stop|restart nginx2
即啟動、停止、重啟容器

#docker rm nginx2
刪除重啟,在執(zhí)行前需要保證容器為停止?fàn)顟B(tài),否則rm失敗

#docker commit nginx2 nginx:v2
將容器提交成為一個鏡像,當(dāng)前容器的改動會持久化到nginx:v2鏡像中
docker容器管理和數(shù)據(jù)管理

3、數(shù)據(jù)管理

3.1 volumes方式

#docker volume create nginx-vol
創(chuàng)建volume,指定名稱為nginx-vol

#docker volume ls
查詢已經(jīng)創(chuàng)建的volume
docker容器管理和數(shù)據(jù)管理

#docker volume inspect nginx-vol
查看volume的詳細(xì)信息,可以看到對于的掛載路徑
docker容器管理和數(shù)據(jù)管理

#docker run -itd --name nginxvol-test -p:8081:80 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx:latest
使用volume創(chuàng)建容器,指定容器掛載目錄為/usr/share/nginx/html
docker容器管理和數(shù)據(jù)管理
此時查看nginx-vol會發(fā)現(xiàn)容器中掛載目錄下的html文件;在volume下新增文件也會同步到容器中
docker容器管理和數(shù)據(jù)管理

Docker inepct命令可以看到容器的volume信息
docker容器管理和數(shù)據(jù)管理

#docker volume rm nginx-vol
nginx-vol非使用時才可以執(zhí)行刪除操作

3.2 bind方式

#docker run -itd --name nginxBind-test -p:8082:80 --mount type=bind,src=/root/www/,dst=/usr/share/nginx/html nginx:latest
創(chuàng)建容器時攜帶type=bind,并指定src和dst目錄
docker容器管理和數(shù)據(jù)管理

docker insepct 命令可以看到該容器的bind信息
docker容器管理和數(shù)據(jù)管理

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI