我想用docker来运行一个zookeeper图像。指令命令是
docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --name zookeeper confluent/zookeeper
我不清楚使用-p选项,这三个“-p”选项在这个zookeeper示例中意味着什么?以及为什么我们在单个-p选项中有两个相同的端口值。我希望像2181:localhost,而不是2181:2181。
答案 0 :(得分:1)
-p标志指定您选择在容器中公开的容器(默认情况下它们都已关闭)。
使用的目的:注释是指示应将容器的哪个端口转发到localhost端口。 参考你的问题 - 像2181一样映射端口:localhost没有任何意义,因为localhost是自动推断的,但端口不是。 Docker为您提供选择的原因是因为端口2181可以在您的本地主机上占用,因此它们可让您自由选择要转发的端口。