注意进入容器中/bin/bash和/bin/sh的区别!
sh跟bash的区别,实际上就是bash有没有开启posix模式的区别
sh
一般设成 bash
的软链 (symlink)在一般的 linux 系统当中(例外如 FreeBSD
,OpenBSD
等),使用 sh
调用执行脚本相当于打开了bash
的 POSIX
也就是说 /bin/sh
相当于 /bin/bash --posix
所以,它们之间的各种差异都是来自 POSIX
和 bash
的差异
------------如何查看容器内部的网络信息?------------------
docker exec -it + containerId +/bin/sh
ip a
-------------创建容器制定host-----------------
--network host命令
docker run -d --name test1 --network host busybox /bin/sh -c "while true;do sleep 3600;done"
注意当容器指定了host,那么网络就会和主机共享一套,即共享了网络命名空间,所以在主机输入ip a 和在容器中输入 ip a 是一样的
host的缺点:因为和主机共享了网络命名空间, 那么就容易产生端口冲突
none的应用领域主要是创建的容器不能被外界访问,这样就实现了内部容器的存储安全性