DockerAttach

DockerAttach

在homelab中常常跟著教學架了一些Docker容器,但又不求甚解。 所以實際應用上常會莫名其妙就吃鱉或踩坑,這次也是常踩到的坑之一,特別記錄一下。

進入容器

所謂的進入容器,就是指進到 Docker Container 的CLI介面。 我對於 Docker Container的理解還是傾向於它類似於 VM 虛擬機的概念, 進入容器也就類似於開啟虛擬機的管理介面的意思。 (我是這麼想啦 但許多教學都說這兩個觀念完全不同)

進入Docker容器的常見方法

  • Docker Attach
  • SSH
  • exec

Docker Attach

這是使用 Docker的指令進入容器的CLI介面

1
sudo docker attach <"容器名稱">

接下來就會進到容器的CLI介面中, 但必須注意的是:==不是每個容器都有bash的shell== 很多教學都是直接用什麼 apt apt-get 之類的常用linux管理指令,在某些容器裡是不適用的

另外要注意的是,使用這個指令進入容器後,管理的session就只有這一個,如果hang住了,是沒辦法像開其他session來救的

SSH

用SSH就跟日常使用連去server管理的方式一樣,但前提是容器必須有裝 SSH Server。 用SSH就沒有前面的 session 問題,但網路上好像不建議docker用ssh,為啥我就沒細看了。

exec

這也是個docker指令 簡單說就是在host主機上,指定容器去執行某些指令,例如開啟一個shell

1
sudo docker exec -it <"容器名稱"> /bin/bash

以上命令為開啟一個bash shell 但就如前面有提到的,不是每個容器都有bash,我就是踩到了這個坑。

心得總結

Docker 運作上感覺真的跟VM很像,目前都還只是部屬一些服務自己日常玩而已,不知道實際在企業應用是什麼樣子,也許未來有機會再多熟悉些。

All rights reserved,未經允許不得隨意轉載
使用 Hugo 建立
主題 StackJimmy 設計