初学者,有点不明白,下了个 ubuntu 镜像,我就执行了 2 条 docker run ubuntu ls docker run ubuntu cd ~/
结果用 docker ps -a 一看,就多了两个 container,那这样下去我用 docker 多执行几个命令岂不是就会生成大量容器?我是不是用法有误?
1
0ZXYDDu796nVCFxq 2019-03-15 22:00:12 +08:00 via Android 2
建议你换一本教材
docker 不是用来跑 shell 命令的 |
2
Tink 2019-03-15 22:05:22 +08:00 via iPhone
是的,你用法有误
|
3
acrisliu 2019-03-15 22:08:19 +08:00 via Android
可以加--rm 参数,执行完自动销毁容器。
|
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 ) |
5
eslizn 2019-03-15 22:10:46 +08:00
你的本意是希望 docker exec ubuntu ls 吧?
|
6
mmm159357456 2019-03-15 22:16:25 +08:00
如果你要执行 shell,还是进容器里面在操作吧
|
7
archersgz 2019-03-15 22:22:37 +08:00
docker exec -it container_id 前四位 bash
试试 |
8
archersgz 2019-03-15 22:39:24 +08:00
再去看下 Dockerfile 的章节,应该会有答案。
|
9
zhoulouzi 2019-03-15 22:48:21 +08:00
你用法有误,docker run 基本上就刚开始用,后期不管几个 container 我都会写 compose
|
10
ys0290 2019-03-15 22:55:02 +08:00 via iPhone
你可能是要 docker exec -it 容器进程
|
11
digimoon 2019-03-15 22:58:49 +08:00
我建容器的时候忘记绑 volume 了,然后不知道怎么修改只能整个删掉再建
|