使用Docker部署时容器名称

时间:2015-12-07 11:15:45

标签: docker dokku

我刚刚完成了我的第一次Docker部署,当我运行此命令以查看最近进程的状态时......

docker ps -a

我得到了这个输出

docker output

我的问题是;那些名字指的是什么?

2 个答案:

答案 0 :(得分:4)

这些是为您正在运行的每个容器生成的随机名称 您可以在pkg/namesgenerator/names-generator.go找到这些名称。

// Docker, starting from 0.7.x, generates names from notable scientists and hackers.
// Please, for any amazing man that you add to the list, consider adding an equally amazing woman to it, and vice versa.
right = [...]string{ 
    // Muhammad ibn Jābir al-Ḥarrānī al-Battānī was a founding father of astronomy. https://en.wikipedia.org/wiki/Mu%E1%B8%A5ammad_ibn_J%C4%81bir_al-%E1%B8%A4arr%C4%81n%C4%AB_al-Batt%C4%81n%C4%AB
    "albattani",

    // Frances E. Allen, became the first female IBM Fellow in 1989. In 2006, she became the first female recipient of the ACM's Turing Award. https://en.wikipedia.org/wiki/Frances_E._Allen
    "allen",
...

您可以通过添加--name to your docker run commands来修改名称。

2013年10月commit 0d29244 Michael Crosby (crosbymichael)为码头工人0.6.5引入了这种做法:

  

-name

添加docker run      

删除泊坞窗链接
  不要将容器ID添加为默认名称
  如果未在运行时指定,则创建自动生成的容器名称。

Solomon Hykes (shykes)使用commit 5d6ef317

在docker 0.7中演变了这种做法
  

0.7的随机名称的新集合:

     心情+着名的发明家。
  例如。 '悲伤特斯拉'或者顽皮的'

答案 1 :(得分:1)

正如VonC已经写过的那样,"这些是为你正在运行的每个容器生成的随机名称"。那么为什么要使用自定义名称?

  

docker run [image-name] - [container-name]

     

docker run wildfly-8.1 -mywildfly

如果您想停止/杀死/运行/检查或对容器执行任何操作,您可以使用您的名字来执行此操作:

  

docker kill mydocker

     

docker run mydocker

否则你必须一直做 docker ps 并检查id(因为你不记得那些假定的自定义名称)。

一个重要的旁注,如果您将自定义名称分配给docker,它将永远分配给该特定容器,这意味着即使您终止容器,它也不再运行,您无法重复使用名字。 如果你运行

  

docker ps -a

你可以看到旧的还在,但停了下来。在 docker rm 删除上一个容器之前,您无法重复使用容器名称。

要删除早于某个自定义时间的容器,请使用以下命令:

  

$ docker ps -a | grep'周前' | awk' {print $ 1}' | xargs的   --no-run-if-empty docker rm

有关删除容器的更多信息here