V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
51300520
V2EX  ›  问与答

docker 每执行一条命令就会新建一个 container?

  •  
  •   51300520 · 2019-03-15 21:52:22 +08:00 · 2339 次点击
    这是一个创建于 2115 天前的主题,其中的信息可能已经有所发展或是发生改变。

    初学者,有点不明白,下了个 ubuntu 镜像,我就执行了 2 条 docker run ubuntu ls docker run ubuntu cd ~/

    结果用 docker ps -a 一看,就多了两个 container,那这样下去我用 docker 多执行几个命令岂不是就会生成大量容器?我是不是用法有误?

    11 条回复    2019-03-15 22:58:49 +08:00
    0ZXYDDu796nVCFxq
        1
    0ZXYDDu796nVCFxq  
       2019-03-15 22:00:12 +08:00 via Android   ❤️ 2
    建议你换一本教材
    docker 不是用来跑 shell 命令的
    Tink
        2
    Tink  
       2019-03-15 22:05:22 +08:00 via iPhone
    是的,你用法有误
    acrisliu
        3
    acrisliu  
       2019-03-15 22:08:19 +08:00 via Android
    可以加--rm 参数,执行完自动销毁容器。
    hoyixi
        4
    hoyixi  
       2019-03-15 22:09:13 +08:00
    与其看网上抄来抄去的教程,不如看文档。

    -------------------------------------------------------------
    Extended description

    The docker run command first creates a writeable container layer over the specified image, and then starts it using the specified command. That is, docker run is equivalent to the API /containers/create then /containers/(id)/start

    -------------------------------------------------------------

    文档明确说了:docker run 相当于先 create, 再 start。 没错,每次都创建( create )再启动( start )
    eslizn
        5
    eslizn  
       2019-03-15 22:10:46 +08:00
    你的本意是希望 docker exec ubuntu ls 吧?
    mmm159357456
        6
    mmm159357456  
       2019-03-15 22:16:25 +08:00
    如果你要执行 shell,还是进容器里面在操作吧
    archersgz
        7
    archersgz  
       2019-03-15 22:22:37 +08:00
    docker exec -it container_id 前四位 bash
    试试
    archersgz
        8
    archersgz  
       2019-03-15 22:39:24 +08:00
    再去看下 Dockerfile 的章节,应该会有答案。
    zhoulouzi
        9
    zhoulouzi  
       2019-03-15 22:48:21 +08:00
    你用法有误,docker run 基本上就刚开始用,后期不管几个 container 我都会写 compose
    ys0290
        10
    ys0290  
       2019-03-15 22:55:02 +08:00 via iPhone
    你可能是要 docker exec -it 容器进程
    digimoon
        11
    digimoon  
       2019-03-15 22:58:49 +08:00
    我建容器的时候忘记绑 volume 了,然后不知道怎么修改只能整个删掉再建
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1189 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.