Docker的管理操作有哪些

本篇內(nèi)容主要講解“Docker的管理操作有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Docker的管理操作有哪些”吧!

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到甘谷網(wǎng)站設(shè)計(jì)與甘谷網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋甘谷地區(qū)。

容器是一個(gè)打包了應(yīng)用和服務(wù)的環(huán)境。它是一個(gè)輕量級(jí)的虛擬機(jī),每一個(gè)容器都由一組特定的應(yīng)用和必要的依賴(lài)組成。

特別說(shuō)明:在windows上使用git-bash來(lái)運(yùn)行docker命令時(shí),如果使用了-i -t參數(shù)會(huì)報(bào)錯(cuò):

$ docker run -it --name my docker.io/centos
the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'

錯(cuò)誤信息已明確說(shuō)明要使用winpty來(lái)運(yùn)行。即:

winpty docker run -it --name my docker.io/centos

1、容器的管理操作

1.1創(chuàng)建容器

對(duì)于容器常見(jiàn)的命令包括:創(chuàng)建、查看、啟動(dòng)、終止(停止)、刪除。

創(chuàng)建容器可以使用docker create和docker run,它們的區(qū)別是,docker create創(chuàng)建容器完成后,容器處于停止?fàn)顟B(tài),而docker run創(chuàng)建容器后同時(shí)啟動(dòng)容器(相當(dāng)于執(zhí)行了:docker create -> docker start)。

docker create 鏡像名稱(chēng)

比如:docker create ubuntu  //不帶 “:版本號(hào)” 時(shí)將使用官方最新的鏡像。

使用docker ps 可以查看當(dāng)前正在運(yùn)行的容器,使用docker ps -a 可以查看所有容器,包括運(yùn)行中和未運(yùn)行的容器。

docker run 可以創(chuàng)建交互型容器和后臺(tái)型容器。

docker run -i -t --name=inspect_shell ubuntu /bin/bash //將創(chuàng)建交互型容器

docker run -d --name=daemon_while ubuntu /bin/bash -c 
"while true;do echo hello world;sleep 1;done" //將創(chuàng)建后臺(tái)型容器

上面--name參數(shù)的名稱(chēng)必須是唯一的不能重復(fù)。

創(chuàng)建容器時(shí)首先會(huì)搜索本地是否存在該鏡像,如果不存在就從公有倉(cāng)庫(kù)下載,否則直接使用本地鏡像創(chuàng)建容器,容器的文件系統(tǒng)是在只讀的鏡像文件上增加一層可讀寫(xiě)的文件層,并通過(guò)網(wǎng)橋的方式將該網(wǎng)絡(luò)接口橋接到宿主主機(jī)上去,然后該虛擬網(wǎng)絡(luò)接口分配一個(gè)IP地址。

1.2 查看容器

使用docker ps 命令即可,可以跟不同的參數(shù),具體使用查看幫助即可:docker ps --help

docker ps  //只查看當(dāng)前運(yùn)行中的容器

docker ps -l  //列出最后創(chuàng)建的容器

docker ps -n=x  //查看最后創(chuàng)建的x個(gè)容器

結(jié)果中的狀態(tài)是Exited時(shí),括號(hào)時(shí)的數(shù)字為0時(shí)正常退出,其它值都為異常退出。

1.3啟動(dòng)容器

通過(guò)docker run 創(chuàng)建的容器直接進(jìn)行運(yùn)行狀態(tài),而使用docker create創(chuàng)建的容器需要使用docker start來(lái)啟動(dòng)它。

docker start 容器ID或容器名稱(chēng)

docker run --restart=always  --name docker_restart -d ubuntu /bin/sh -c 
"while rue;do echo hello world;sleep 1;done"

docker run ubuntu echo "Hello docker" //此容器輸出后馬上就停止了
docker ps -a 可以查看到容器的ID和名稱(chēng),要想再次啟動(dòng)此容器而不是創(chuàng)建一個(gè)新的容器可以使用下面的方式:
docker start -i 容器ID //多了個(gè)-i參數(shù),表明輸出到終端,如果不帶-i參數(shù)是看不到Hello docker輸出的。

restart為always是不管容器返回碼是什么都會(huì)嘗試重啟容器,另外可以設(shè)置成--restart=on-failure:5 來(lái)設(shè)置非0返回碼時(shí)重啟嘗試的次數(shù)。

1.4終止容器

正常退出容器使用 docker stop 容器名稱(chēng)或容器ID,另外可以使用docker kill 強(qiáng)制退出容器。

docker stop 容器名稱(chēng)或容器ID
docker kill 容器名稱(chēng)或容器ID

1.5刪除容器

docker rm 容器ID或容器名稱(chēng) //只能刪除未運(yùn)行的容器

docker rm -f 容器ID或容器名稱(chēng) //強(qiáng)制刪除,運(yùn)行中的容器可將刪除

docker rm `docker ps -a -q` //批量刪除所有容器,-q參數(shù)只列出容器的ID

2、容器內(nèi)信息獲取和命令執(zhí)行

2.1依附容器

依附容器命令只能用在交互型容器中,就是以 -i -t 參數(shù)運(yùn)行的容器,可以依附若干的終端,而且多個(gè)終端操作是同步的,就是你在其中一個(gè)終端輸入了什么,在其它的終端也將顯示什么,退中一個(gè)終端使用exit退出,所有依附的終端都將退出。

docker run -i -t ubuntu /bin/sh

然后再開(kāi)另一個(gè)終端使用

docker attach ubuntu 
//即可以進(jìn)入交互界面,這樣就會(huì)有兩個(gè)終端,而且是同步的。此命令目前輸入完后必須按兩次回車(chē)才正常出現(xiàn)交互界面。

后臺(tái)型容器是無(wú)法使用此命令依賴(lài)終端的。

ps:如果只是要進(jìn)入到運(yùn)行中的容器,而且容器也不一定是使用 -i -t運(yùn)行的,可以使用下面的命令:

docker exec -it 容器ID或名稱(chēng) bash

2.2查看容器日志

交互型容器可臺(tái)通過(guò)依附命令直接進(jìn)入查看日志,而后臺(tái)型容器可以通過(guò)docker logs 命令來(lái)查看容器日志。

docker run -d --name =daemon_logs ubuntu /bin/bash -c "for((i=0;1;i++));do echo $i;sleep 1;done;" 
//注意這里要使用雙引號(hào)

docker logs -f deamon_logs //-f 實(shí)時(shí)查看容器日志

docker logs -f --tail=x daemon_logs //只實(shí)時(shí)查看最后x行日志

docker logs -f --tail=5 -t daemon_logs //-t查看日志產(chǎn)生的時(shí)間

 2.3查看容器進(jìn)程

docker top可以查看容器內(nèi)正在運(yùn)行的進(jìn)程

docker top 容器ID或容器名稱(chēng)

 2.4查看容器信息

docker inspect用于查看容器的配置信息,包括容器名稱(chēng)、環(huán)境變量、運(yùn)行命令、主機(jī)配置、網(wǎng)絡(luò)配置和數(shù)據(jù)卷配置等。

docker inspect 容器ID或容器名稱(chēng)

詳細(xì)使用可以查看幫助,docker inspect --help

2.5容器內(nèi)執(zhí)行命令

在容器啟動(dòng)的時(shí)候,通常需要指定需要執(zhí)行的程序,然而有時(shí)候我們需要在容器運(yùn)行之后中途啟動(dòng)另一個(gè)程序 。從Docker 1.3開(kāi)始,我們可以使用docker exec命令在容器中運(yùn)行新的任務(wù)。它可以創(chuàng)建兩種任務(wù):后臺(tái)型任務(wù)和交互型任務(wù)。

docker exec -d daemon_dave touch /etc/new_config_file //后臺(tái)型任務(wù)

docker exec -i -t daemon_dave /bin/bash //交互型任務(wù),這個(gè)和創(chuàng)建交互型容器一樣。

注意:運(yùn)行此命令容器都必須是運(yùn)行中

 3、容器的導(dǎo)入和導(dǎo)出

用戶(hù)不僅可以把容器提交到公共服務(wù)器上,也可以將容器導(dǎo)出到本地文件系統(tǒng)中,再需要的時(shí)候可以重新導(dǎo)入到Docker運(yùn)行環(huán)境中。

容器導(dǎo)出:

docker run -i -t --name=inspect_import ubuntu /bin/bash

然后對(duì)容器按需要修改,安裝需要的軟件等,完成后執(zhí)行下面的命令導(dǎo)出到本地系統(tǒng)中。

docker export inspect_import > my_container.tar

容器導(dǎo)入:

cat my_container.tar |docker import - imported:container
//imported為鏡像名稱(chēng),container為鏡像標(biāo)簽(tag)

還可以從url導(dǎo)入網(wǎng)絡(luò)上的容器:
docker import url res:tag

導(dǎo)入成功后,使用docker images 命令可以查看導(dǎo)入的鏡像。

到此,相信大家對(duì)“Docker的管理操作有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前題目:Docker的管理操作有哪些
本文路徑:http://muchs.cn/article6/johsog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、微信公眾號(hào)搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航、外貿(mào)建站、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)