溫馨提示×

溫馨提示×

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

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

Docker進(jìn)入啟動容器的方法

發(fā)布時間:2022-05-25 11:39:34 來源:億速云 閱讀:3217 作者:iii 欄目:大數(shù)據(jù)

這篇“Docker進(jìn)入啟動容器的方法”文章的知識點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Docker進(jìn)入啟動容器的方法”文章吧。

在使用-d參數(shù)時,容器啟動后會進(jìn)入后臺,用戶無法看到容器中的信息,也無法進(jìn)行操作。

這個時候如果需要進(jìn)入容器進(jìn)行操作,有多種方法,包括使用官方的attach或exec命令,以及第三方的nsenter工具等。

1、attach命令

attach命令是docker自帶的命令,命令格式為:

docker attach [–detach-keys[=[]]] [–no-stdin] [–sig-proxy[=true]] container

支持三個主要選項:

·–detach-keys[=[]]:指定退出attach模式的快捷鍵序列,默認(rèn)是ctrl-p ctrl-q;

·–no-stdin=true|false:是否關(guān)閉標(biāo)準(zhǔn)輸入,默認(rèn)是保持打開;

·–sig-proxy=true|false:是否代理收到的系統(tǒng)信號給應(yīng)用進(jìn)程,默認(rèn)為true。

但是,使用attach命令有時候并不方便。當(dāng)多個窗口同時使用attach命令連到同一個容器的時候,所有窗口都會同步顯示。當(dāng)某個窗口因命令阻塞時,其他窗口也無法執(zhí)行操作了。

2、exec命令

docker從1.3.0版本起提供了一個更加方便的exec命令,可以在容器內(nèi)直接執(zhí)行任意命令。該命令的基本格式為:

docker exec [-d|–detach] [–detach-keys[=[]]] [-i|–interactive] [–privileged] [-t|–tty] [-u|–user[=user]] container command [arg…]。

比較重要的參數(shù)有:

·-i,–interactive=true|false:打開標(biāo)準(zhǔn)輸入接受用戶輸入命令,默認(rèn)為false;

·–privileged=true|false:是否給執(zhí)行命令以高權(quán)限,默認(rèn)為false;

·-t,–tty=true|false:分配偽終端,默認(rèn)為false;

·-u,–user=”“:執(zhí)行命令的用戶名或id。

例如進(jìn)入到剛創(chuàng)建的容器中,并啟動一個bash:

Docker進(jìn)入啟動容器的方法

可以看到,一個bash終端打開了,在不影響容器內(nèi)其他應(yīng)用的前提下,用戶可以很容易與容器進(jìn)行交互。
通過指定-it參數(shù)來保持標(biāo)準(zhǔn)輸入打開,并且分配一個偽終端。通過exec命令對容器執(zhí)行操作是最為推薦的方式。

3、nsenter 工具

在util-linux軟件包版本2.23+中包含nsenter工具。如果系統(tǒng)中的util-linux包沒有該命令,可以按照下面的方法從源碼安裝:

$ cd /tmp; curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf-; cd util-linux-2.24;
$ ./configure --without-ncurses
$ make nsenter && cp nsenter /usr/local/bin

為了使用nsenter連接到容器,還需要找到容器進(jìn)程的pid,可以通過下面的命令獲取:

pid=$(docker inspect --format "{{ .state.pid }}" )

通過這個pid,就可以連接到這個容器:

$ nsenter --target $pid --mount --uts --ipc --net --pid

以上就是關(guān)于“Docker進(jìn)入啟動容器的方法”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

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

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

AI