我是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
答案 0 :(得分:3)
docker run -t --name=appname -p 9090:9000 -p 15501:15501/udp -d appname2
问: - name:appname是图片的名称吗?
没有。它是您正在创建的容器的名称(可选)。
--name string Assign a name to the container
问:-t:在终端中运行?
-t, --tty Allocate a pseudo-TTY
问:-d:作为守护进程运行?
排序。这意味着您要运行与终端分离的容器。
-d, --detach Run container in background and print container ID
问:-p:对于容器外的某人与端口9090通信,他们必须在端口9000上连接?
9090:9000
表示:绑定到容器上端口9090
的主机上的端口9000
。要与集装箱码头交谈,外面的人应该与9090交谈。
-p, --publish list Publish a container's port(s) to the host (default [])
问:端口15501是相同的,但它是一个udp端口?
右。
问:appname2:分配给正在运行的图像的名称?
这是您正在运行的图像。容器基于它。
奖金!您可以在此处找到所有这些信息:docker help run
奖金2!亲自尝试一下:
docker run -d -it --name my-container alpine sh
docker inspect my-container
# See all this funny output. It's all about the container that you've created
答案 1 :(得分:1)
来自https://docs.docker.com/engine/reference/run/
-d
标志表示已分离。运行docker容器时,可以在前台运行容器,也可以在后台运行容器。如何运行容器的选择取决于您的使用案例。例如,如果您运行具有某些功能的OS容器,您可能希望在前台运行容器以使用此功能。但是,如果您运行数据库服务器,则可能需要在后台运行它。
-p
标志在使用时会将所有公开的端口发布到主机接口。例如,如果您在容器中运行数据库服务器,该容器有一些暴露的端口,并且您希望从远处与服务器通信,则可能需要将容器内的端口映射到主机上的单个或多个端口。系统。这样当你连接到主机上的端口时,你就连接到在它内部运行的docker服务器(我希望这很清楚)。映射格式如下:
ip:hostPort:contain`enter code here`erPort | ip::containerPort | hostPort:containerPort | containerPort
--name
标志为正在运行的容器提供了一个很好的名称。如果不使用,它将生成一个名称。例如,如果您以分离模式执行容器,然后您想使用attach
命令进入容器内,则可以使用它。
-t
标志为容器分配文本控制台。
appname2
是泊坞窗图片的名称。