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

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

  •  
  •   51300520 · 217 天前 · 1135 次点击
    这是一个创建于 217 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    -------------------------------------------------------------
    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 )
        5
    eslizn   217 天前
    你的本意是希望 docker exec ubuntu ls 吧?
        6
    mmm159357456   217 天前
    如果你要执行 shell,还是进容器里面在操作吧
        7
    archersgz   217 天前
    docker exec -it container_id 前四位 bash
    试试
        8
    archersgz   217 天前
    再去看下 Dockerfile 的章节,应该会有答案。
        9
    zhoulouzi   217 天前
    你用法有误,docker run 基本上就刚开始用,后期不管几个 container 我都会写 compose
        10
    ys0290   217 天前 via iPhone
    你可能是要 docker exec -it 容器进程
        11
    digimoon   217 天前
    我建容器的时候忘记绑 volume 了,然后不知道怎么修改只能整个删掉再建
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1370 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 00:03 · PVG 08:03 · LAX 17:03 · JFK 20:03
    ♥ Do have faith in what you're doing.