在做集羣批量部署的過程中,記錄日誌及鏈路追蹤時,我們需要在大量的容器中篩選出出現問題或需要記錄的容積,以更快的方式確認錯誤的位置,因此在容器榮能獲取到容器的 id 我們即能方便的進行問題定位
- 宿主機中獲取容器 id 如下圖所示
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9440dd89c405 mongo "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:27017->27017/tcp mongo
- 如果想在容器中獲取
進入容器
docker exec -it mongo bash
cat /proc/self/cgroup | head -1
輸出
12:cpuset:/docker/9440dd89c4052167611e467efd47e1feccabaad448594cbc90eb7fb3f12f4c3f
可以看出後面的 944 開頭的就是容器自身的id。
使用:
head -1 /proc/self/cgroup|cut -d/ -f3
輸出:
9440dd89c4052167611e467efd47e1feccabaad448594cbc90eb7fb3f
只取12位id
head -1 /proc/self/cgroup|cut -d/ -f3|cut -c1-12
輸出:
9440dd89c405