自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何查看 Docker 新版本中容器的名字空間

云計(jì)算
熟悉 Linux 技術(shù)的人都知道,容器只是利用名字空間進(jìn)行隔離的進(jìn)程而已,Docker 在容器實(shí)現(xiàn)上也是利用了 Linux 自身的技術(shù)。如果你使用的是比較新的 Docker 版本,會(huì)尷尬的發(fā)現(xiàn),直接使用系統(tǒng)命令,會(huì)無法訪問到容器名字空間。這里,首先介紹下“ ip netns” 系列命令。這些命令負(fù)責(zé)操作系統(tǒng)中的網(wǎng)絡(luò)名字空間。

熟悉 Linux 技術(shù)的人都知道,容器只是利用名字空間進(jìn)行隔離的進(jìn)程而已,Docker 在容器實(shí)現(xiàn)上也是利用了 Linux 自身的技術(shù)。

有時(shí)候,我們需要在宿主機(jī)上對(duì)容器內(nèi)進(jìn)行一些操作,當(dāng)然,這種繞過 Docker 的操作方式并不推薦。

如果你使用的是比較新的 Docker 版本,會(huì)尷尬的發(fā)現(xiàn),直接使用系統(tǒng)命令,會(huì)無法訪問到容器名字空間。

這里,首先介紹下“ ip netns” 系列命令。這些命令負(fù)責(zé)操作系統(tǒng)中的網(wǎng)絡(luò)名字空間。

首先,我們使用 “add” 命令創(chuàng)建一個(gè)臨時(shí)的網(wǎng)絡(luò)名字空間。

  1. ip netns add test 

然后,使用 show 命令來查看系統(tǒng)中的網(wǎng)絡(luò)名字空間,會(huì)看到剛創(chuàng)建的 test 名字空間。

  1. ip netns show 
  2. test 

另外,一個(gè)很有用的命令是 exec,會(huì)在對(duì)應(yīng)名字空間內(nèi)執(zhí)行命令。例如

  1. ip netns exec test ifconfig 

使用 del 命令刪除剛創(chuàng)建的 test 名字空間。

  1. ip netns del test 

接下來運(yùn)行一個(gè) Docker 容器,例如

  1. docker run -it ubuntu 

再次執(zhí)行 ip netns show命令。很遺憾,這里什么輸出都沒有。

原因在于,Docker 啟動(dòng)容器后仍然會(huì)以進(jìn)程號(hào)創(chuàng)建新的名字空間,但在較新的版本里面,默認(rèn)刪除了系統(tǒng)中的名字空間信息文件。

網(wǎng)絡(luò)名字空間文件位于 /var/run/netns 下面,比如我們之前創(chuàng)建的 test 名字空間,則在這個(gè)目錄下有一個(gè) test 文件。諸如 netns 類似的系統(tǒng)命令依靠這些文件才能獲得名字空間的信息。

在容器啟動(dòng)后,查看這個(gè)目錄,會(huì)發(fā)現(xiàn)什么都沒有。

OK,那讓我們手動(dòng)重建它。

首先,使用下面的命令查看容器進(jìn)程信息,比如這里的1234。

  1. docker inspect --format='{{. State.Pid}} ' container_id 
  2. 1234 

接下來,在 /proc 目錄(保存進(jìn)程的所有相關(guān)信息)下,把對(duì)應(yīng)的網(wǎng)絡(luò)名字空間文件鏈接到 /var/run/netns 下面

  1. ln -s /proc/1234/ns/net /var/run/netns/ 

然后,就可以通過正常的系統(tǒng)命令來查看或訪問容器的名字空間了。例如

  1. ip netns show 
  2. 1234 
  3. ip netns exec 1234 ifconfig eth0 172.16.0.10/16... 

原文出自:http://blog.csdn.net/yeasy/article/details/41694797

責(zé)任編輯:Ophira 來源: yeasy的專欄
相關(guān)推薦

2011-08-01 15:35:51

GlassFishJava 7

2010-02-23 17:44:48

Python 3.0

2009-06-17 09:24:34

學(xué)習(xí)strutsStruts新版本

2022-04-15 11:51:48

Windows 11安全加密

2015-02-05 16:59:36

平安WiFiiOS

2020-08-14 13:50:13

UbuntuHandbrakeLinux

2020-02-25 20:50:38

UbuntuLinuxGit

2015-10-13 16:02:49

升級(jí)Windows 10微軟

2020-07-10 06:40:31

Python 3.9Python開發(fā)

2022-05-12 13:40:18

勒索軟件數(shù)據(jù)泄露網(wǎng)絡(luò)安全

2009-12-31 11:09:36

Ubuntu wine

2009-12-29 13:43:21

Ubuntu 9.10

2012-05-15 13:39:41

微軟Windows8

2023-05-18 08:00:59

CephRGW 性能

2012-09-24 11:50:04

IBMdw

2009-08-02 08:59:47

Windows 7 R系統(tǒng)升級(jí)

2014-04-17 11:24:44

GoogleAndroid

2014-12-08 10:33:34

Java

2023-05-05 06:19:30

版本Windows 11企業(yè)版

2023-10-13 12:32:54

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)