Docker突然无法识别-p命令

时间:2019-02-26 19:33:25

标签: docker

所以我刚刚在Mac上更新了Docker,并且适应Docker似乎是充满挑战和困惑的。

几个星期前,我可以通过运行以下命令(这是我的命令行历史记录)来介意docker容器上的8834端口到本地主机上的8834端口:

 8450  docker attach -p 8834:8834 compassionate_chandrasekhar
 8452  docker start -p 8834:8834 compassionate_chandrasekhar

今天,如果我尝试做同样的事情,则会发生以下情况:

[user:test.local:]$ docker container ps -a
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                     PORTS               NAMES
225146ec71d6        myuser/kali:kali   "/usr/bin/zsh"      9 minutes ago       Exited (0) 2 minutes ago                       agitated_fermat
e4389cac288a        myuser/kali:kali   "/usr/bin/zsh"      2 weeks ago         Exited (255) 2 weeks ago                       suspicious_hypatia
265f2c9215c5        myuser/kali:kali   "/usr/bin/zsh"      2 weeks ago         Exited (0) 2 weeks ago                         hungry_poincare
34b36b4d8a7e        myuser/kali:kali   "/usr/bin/zsh"      2 weeks ago         Created                                        amazing_stonebraker

其次:

[user:test.local:]$ docker start -p 8834:8834 agitated_fermat
unknown shorthand flag: 'p' in -p
See 'docker start --help'.

我在做什么错?极为混乱

2 个答案:

答案 0 :(得分:2)

只能使用新创建的容器而不是现有容器来完成发布端口。因此,您需要停止容器并使用所需的端口创建一个新容器

答案 1 :(得分:0)

今天我正在抓取 Jenkins/Docker 教程,但遇到了类似的错误。

他们确实说以下列方式启动容器,但我遇到了和你一样的错误:

docker run --name jenkinsci -p 8080:8080 jenkins/jenkins:lts

=>“未知速记标志:-p 中的‘p’”

当我把“名称”标签放在最后时,我不再收到错误,它会下载容器。

docker run -p 9090:8080 jenkins/jenkins:lts --name jenkinsci

它现在告诉我它在下载后无法识别选项“--name”-tag。 没有“--name”,容器会运行。

(教程链接:https://medium.com/@gustavo.guss/quick-tutorial-of-jenkins-b99d5f5889f2