首页 > 解决方案 > 根工作区的含义 - 执行 docker run 命令

问题描述

我执行一个 docker run 命令,如下所示

docker run -it --rm --net=host tensorrtserver_client

当我执行这个命令时,我看到命令提示符发生了变化

拉吉尼@server_name

root@server_name :/#

上面命令中的“它”不是代表交互式吗?

你能告诉我这里发生了什么吗?

如果它使用图像'tensorrtserver_client'启动容器,那么它不应该进入容器提示符吗?并显示类似container_id :#的内容?

请找到我遵循的 dockerfile 和程序的链接

https://github.com/NVIDIA/tensorrt-inference-server/blob/master/Dockerfile.client

https://docs.nvidia.com/deeplearning/sdk/tensorrt-inference-server-guide/docs/quickstart.html

标签: dockerdocker-composedockerfiledocker-image

解决方案


a) 如果您使用默认docker0网络且未指定--hostname容器,则其行为如下:

shubuntu1@shubuntu1:~$ docker run -it ubuntu /bin/bash
root@0ad9bd6bfc90:/#

b)如果您使用容器的默认docker0和指定--hostname,它将像:

shubuntu1@shubuntu1:~$ docker run -it --hostname=abc ubuntu /bin/bash
root@abc:/#

c) 如果你不使用docker0--net=host就按你的情况使用,那么它将共享主机的网络。然后,如果您没有指定--hostname,它将为您的容器提供一个隐式主机名,与您的 docker 主机名相同:

shubuntu1@shubuntu1:~$ docker run -it --net=host ubuntu /bin/bash
root@shubuntu1:/# 

所以上面的c)意思是你已经在提示容器了。


推荐阅读