Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
raw0xff
V2EX  ›  Linux

docker 的 ubuntu 容器为什么不自带 ip 命令和 ifconfig 命令?

  •  
  •   raw0xff · Oct 21, 2022 · 4928 views
    This topic created in 1306 days ago, the information mentioned may be changed or developed.

    Linux 小白求教

    像 ip, ifconfig 命令不应该是操作系统常用的基础命令吗,为什么系统不自带呢?还是有其它的获取本机 ip 的命令?

    还有 sudo 命令也需要安装。

    22 replies    2022-10-24 15:13:54 +08:00
    weeei
        1
    weeei  
       Oct 21, 2022   ❤️ 6
    你这把 Docker 当虚拟机用了。
    Docker 容器只运行一个单独的服务,除非这些工具是服务需要的。
    hronro
        2
    hronro  
       Oct 21, 2022
    Docker 的目的是「把一个应用跑在一个用容器隔离的环境里」,而不是「创建一个虚拟的操作系统」。「操作系统常用的基础命令」对于跑一个单一应用来说是多余的,所以不如精简到节省镜像体积。
    DonaidTrump
        3
    DonaidTrump  
       Oct 21, 2022
    1 楼说得对
    huaouo
        4
    huaouo  
       Oct 21, 2022
    use nsenter
    raw0xff
        5
    raw0xff  
    OP
       Oct 21, 2022
    @hronro @weeei 感谢!
    fisherwei
        6
    fisherwei  
       Oct 21, 2022
    @weeei
    道理确实是这么个道理

    但是我一直没想通,谁会用 ubuntu 做 base image 呢,debian 更稳定更安全,alpine 更精简。
    ysc3839
        7
    ysc3839  
       Oct 21, 2022
    因为绝大多数用户用不到,所以为了省空间不带,需要的用户可以自己安装
    geekvcn
        8
    geekvcn  
       Oct 21, 2022
    你需要的是 LXC LXD 而不是 Docker ,虽然两者底层技术一样,但是前者倾向于完整的系统环境,后者是尽量只保留服务所需的依赖环境
    cubecube
        9
    cubecube  
       Oct 21, 2022
    @weeei 有时候,就必须用 docker 当虚拟化环境,比如 ECS 上需要隔离的环境
    seers
        10
    seers  
       Oct 21, 2022 via Android
    我觉得一些 debug 常用的 binary 还是带上比较好,有时候进容器这也没有那也没有,难受
    ch2
        11
    ch2  
       Oct 21, 2022
    你需要什么就自助在 dockerfile 里加回去,基础镜像是为了省空间的,不是图全
    pC0oc4EbCSsJUy4W
        12
    pC0oc4EbCSsJUy4W  
       Oct 21, 2022
    编译的时候自己 add 就行了
    ClericPy
        13
    ClericPy  
       Oct 21, 2022
    如果... Ubuntu 自己家不是出了一个 multipass
    njiang
        14
    njiang  
       Oct 21, 2022 via Android
    test
    Shawee
        15
    Shawee  
       Oct 21, 2022
    nsenter -t pid --net
    kqz901002
        16
    kqz901002  
       Oct 21, 2022
    @cubecube #9 为什么不用 KVM ?
    microxiaoxiao
        17
    microxiaoxiao  
       Oct 21, 2022
    大兄弟 我就是经常把容器当虚拟机,哈哈。一个机器上能建立几十个,容器里面安装一个包源,想要啥有啥。
    cubecube
        18
    cubecube  
       Oct 22, 2022
    @kqz901002 虚机不支持二次虚拟化呀
    littlezzll
        19
    littlezzll  
       Oct 22, 2022 via Android
    docker 镜像为了安全和方便传输,一般是能多精简就多精简,只要应用能运行就可以,google distroless 镜像甚至连 sh 或者 bash 都没有
    kqz901002
        20
    kqz901002  
       Oct 22, 2022
    @microxiaoxiao #17
    @cubecube #18
    好像我也会这么干。
    uGRiPVk3vSJ
        21
    uGRiPVk3vSJ  
       Oct 22, 2022   ❤️ 1
    尽最大可能防止容器逃逸是一方面原因
    julyclyde
        22
    julyclyde  
       Oct 24, 2022
    @fisherwei 更稳定更安全根本就是个不可量化的臆想
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5722 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 133ms · UTC 02:20 · PVG 10:20 · LAX 19:20 · JFK 22:20
    ♥ Do have faith in what you're doing.