命令行界面 (CLI) = 使用文本命令进行交互的用户界面 终端 (Terminal) = TTY = 文本输入/输出环境 控制台 (Console) = 一种特殊的终端 Shell = 命令行解释器,执行用户输入的命令并返回结果
1、首先使用docker创建一个容器,并获取该容器的network namespace $ docker run -itd –name test ubuntu /bin/bash $ docker ps $ docker inspect –format ‘{{ .State.Pid }}’ test 3656 由上可知,该容器的network namespace在/proc/3656/ns/net
https://github.com/opencontainers/runc/tree/v1.0.0-rc6 容器运行时(Container Runtime)是指管理容器和容器镜像的软件。当前业内比较有名的有docker,rkt等。如果不同的运行时只能支持各自的容器,那么显然不利于整个容器技术的发展。于是在2015年6月,由Docker以及其他容器领域的领导者共同建立了围绕容器格式和运行时的开放的工业化标准,即Open Container Initiative(OCI),OCI具体包含两个标准:运行时标准(runtime-spec)和容器镜像标准(image-spec)。简单来说,容器镜像标准定义了容器镜像的打包形式(pack format),而运行时标准定义了如何去运行一个容器。
先查看当前docker容器进程号 docker inspect –format ‘{{ .State.Pid }}’ CONTAINER ID #CONTAINER ID可以用命令docker ps 查看 获得pid进程号为
10822 用这个查看10822进程对于的所有namespace文件
lrwxrwxrwx 1 root root 0 Nov 8 17:56 ipc -> ipc:[4026532224] lrwxrwxrwx 1 root root 0 Nov 8 17:56 mnt -> mnt:[4026532222] lrwxrwxrwx 1 root root 0 Nov 8 17:56 net -> net:[4026532227] lrwxrwxrwx 1 root root 0 Nov 8 17:56 pid -> pid:[4026532225] lrwxrwxrwx 1 root root 0 Nov 8 17:56 user -> user:[4026531837] lrwxrwxrwx 1 root root 0 Nov 8 17:56 uts -> uts:[4026532223] 可以看到,一个进程的每种 Linux Namespace,都在它对应的 /proc/[进程号]/ns 下有一个对应的虚拟文件,并且链接到一个真实的 Namespace 文件上。