我是Docker的新手,对于下面的命令选项专门为我遇到的命令做什么,我有点困惑。
--name : appname is the name of the image?
-t : Run in terminal?
-d : run as daemon?
-p : for somebody outside the container to talk to port 9090 they have to connect on port 9000?
Same for port 15501 but it is a udp port?
appname2: name assigned to running image?
docker run -t --name=appname -p 9090:9000 -p 15501:15501/udp -d appname2
3条答案
按热度按时间inkz8wg91#
Q:--name:appname是图像的名称吗?
不是。它是您正在创建的容器的名称(可选)。
Q:-t:在终端运行?
问:-d:作为守护进程运行?
这意味着你想运行与终端分离的容器。
问:-p:对于容器外的人来说,要与端口9090通话,他们必须连接到端口9000上?
9090:9000
表示:主机上的端口9090
绑定到容器上的端口9000
。要与容器端口对话,外部人员应与9090对话。问:端口15501也是一样,但它是一个udp端口?
好的。
Q:appname2:分配给运行映像的名称?
这就是你正在运行的图像,容器基于它之上。
奖金!你可以在这里找到所有这些信息:
docker help run
奖励2!自己试试:
ee7vknir2#
从https://docs.docker.com/engine/reference/run/开始
-d
标志表示分离。当你运行一个docker容器时,你可以在前台运行一个容器,也可以在后台运行它。如何运行你的容器的选择实际上取决于你的用例。例如,如果你运行一个具有某些功能的OS容器,为了使用这个功能,你可能希望在前台运行容器。2但是如果你运行一个数据库服务器,你可能希望在后台运行它。使用
-p
标志时,会将所有暴露的端口发布到主机接口。例如,如果您在一个容器中运行一个DB服务器,该容器具有一些暴露的端口,并且您希望从远处与服务器通信,则可能需要将容器中的端口Map到主机系统上的单个或多个端口。这样,当您连接到主机上的端口时,连接到运行在其中的Docker服务器(我希望这一点很清楚)。Map格式如下:--name
标志为正在运行的容器提供了一个漂亮的名称。如果不使用,它将生成一个名称。例如,如果您以分离模式执行容器,然后您希望使用attach
命令进入容器,则可以使用它。-t
标志为容器分配一个文本控制台。appname2
是Docker镜像的名称。1tu0hz3e3#
对于其他想要快速记住docker的实际端口Map语法的人来说: