您能否说明什么时候应该在 "docker run" 命令中使用“-it”?
Could you clarify when "-it" should be used in a "docker run" command?
如果我用
docker run myimage /bin/bash -c "pwd"
或
docker run -it myimage /bin/bash -c "pwd"
结果是一样的。那么,“-it”的意义是什么?我了解到“-i”用于交互,“-t”用于 tty。但那些对我来说是抽象名词。您能否说明什么时候应该在“docker 运行”命令中使用“-it”?
当你想与容器交互时,你可以使用 -it
标志。
例如:
$ docker run -it myimage /bin/bash
这会给你一个 shell 内部容器,让你连接到 bash
/ #
这将 运行 任何命令,但会关闭连接并将您带到主机的 shell
$ docker run myimage /bin/bash -c "pwd"
/
test@host $
因此您将使用 -it
连接并在容器内执行更多命令。
最后退出容器
/ # exit
exited
提到 docs,
For interactive processes (like a shell), you must use -i -t together in order to allocate a tty for the container process.
本质上,它所做的是添加一个终端驱动程序,它允许您作为终端会话与您的容器进行交互。
在 运行ning 你的容器后,你可以 运行 docker ps
获取你的容器的哈希 ID,然后你可以通过 运行ning 访问它:
docker exec -it containeridhash sh
如果我用
docker run myimage /bin/bash -c "pwd"
或
docker run -it myimage /bin/bash -c "pwd"
结果是一样的。那么,“-it”的意义是什么?我了解到“-i”用于交互,“-t”用于 tty。但那些对我来说是抽象名词。您能否说明什么时候应该在“docker 运行”命令中使用“-it”?
当你想与容器交互时,你可以使用 -it
标志。
例如:
$ docker run -it myimage /bin/bash
这会给你一个 shell 内部容器,让你连接到 bash
/ #
这将 运行 任何命令,但会关闭连接并将您带到主机的 shell
$ docker run myimage /bin/bash -c "pwd"
/
test@host $
因此您将使用 -it
连接并在容器内执行更多命令。
最后退出容器
/ # exit
exited
提到 docs,
For interactive processes (like a shell), you must use -i -t together in order to allocate a tty for the container process.
本质上,它所做的是添加一个终端驱动程序,它允许您作为终端会话与您的容器进行交互。
在 运行ning 你的容器后,你可以 运行 docker ps
获取你的容器的哈希 ID,然后你可以通过 运行ning 访问它:
docker exec -it containeridhash sh