指定要附加的docker进程的Container ID

在我的远程服务器上,一些开发人员运行相同的名为“my_account / analysis”的docker镜像。 所以,一旦脱离docker进程,就很难知道哪个是我自己的过程。

docker ps的结果是这样的:

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6968e76b3746 my_account/analysis "bash" 44 hours ago Up 44 hours 6023/tcp, 6073/tcp, 6800/tcp, 8118/tcp, 8888/tcp, 9050/tcp, 0.0.0.0:8887->8887/tcp modest_jones 42d970206a29 my_account/analysis "bash" 7 days ago Up 7 days 6023/tcp, 6073/tcp, 6800/tcp, 8118/tcp, 8888/tcp, 9050/tcp, 0.0.0.0:32771->8885/tcp gallant_chandrasekhar ac9f804b7fe0 my_account/analysis "bash" 11 days ago Up 11 days 6023/tcp, 6073/tcp, 6800/tcp, 8118/tcp, 8888/tcp, 9050/tcp, 0.0.0.0:8798->8798/tcp suspicious_mayer e8e260aab4fb my_account/analysis "bash" 12 days ago Up 12 days 6023/tcp, 6073/tcp, 6800/tcp, 8118/tcp, 8888/tcp, 9050/tcp, 0.0.0.0:32770->8885/tcp nostalgic_euler 

在这种情况下,因为我记得我在2天前运行了docker attach 6968e ,所以我通过docker attach 6968e附加我的容器。 但是,通常我们会忘记这一点。

在有很多具有相同图像名称的容器的情况下, 检测我的容器ID的最佳做法是什么?

简单的方法是命名容器

 docker run --name my-special-container my_account/analysis docker attach my-special-container 

您可以在启动时将容器ID存储在文件中

 docker run --cidfile ~/my-special-container my_account/analysis docker attach $(cat ~/my-special-container) 

您可以使用对象标签添加更详细的元数据,但不像名称那样容易访问

 docker run --label com.rkjt50r983.tag=special my_account/analysis docker ps --filter 'label=com.rkjt50r983.tag=special'