如何复制和重命名Docker容器?

Dig*_*ord 26 docker

我有一个docker容器,我想用它来分区客户端访问数据库.我希望每个客户能够拥有一个容器.如果我启动容器的多个副本,它们都具有相同的名称,唯一的区别是容器被分配到的端口.

如何以这样一种方式复制/重命名容器,以便我可以区分容器而无需查询与指定端口匹配的查找表到客户端?

Ser*_*lov 32

docker rename命令是Docker 1.5的一部分.链接提交: docker github


小智 17

我正在使用docker 1.0.1,以下允许我重命名图像:

docker tag 1cf76 myUserName/imageName:0.1.0
Run Code Online (Sandbox Code Playgroud)

  • 但是图像不是容器. (7认同)
  • @RobinWinslow他们确实有友好的名字.注意`--name`标志,或`docker ps`输出中最右边的列. (5认同)

cre*_*ack 7

所有容器都有一个uniq名称.当你这样做docker ps你可以看到第一列是ID.然后,您可以使用此ID操作容器.

您实际上需要此ID才能对容器执行任何操作(停止/启动/检查等等)

我不确定您要做什么,但是对于每个客户端,您可以启动一个新容器,然后将容器ID与您的用户ID相关联.

目前,Docker中没有容器命名,因此您无法命名或重命名容器,您只能使用其ID.

在将来的版本中,将实现容器的命名.

  • 截至Docker 0.6.5已实现容器命名,但您无法为现有容器提供名称.我怀疑这不会实施; 只需停止容器并运行一个新的命名实例. (2认同)
  • "只是"是一个狡猾的词.我有一个案例,我想在调试期间保留一个容器进行检查,但是想要在新的命名实例中退回并重新启动服务.我认为在这种情况下我能做的至少是容器及其快照,释放名称以便在新的命名实例中使用. (2认同)