在homelab中常常跟著教學架了一些Docker容器,但又不求甚解。 所以實際應用上常會莫名其妙就吃鱉或踩坑,這次也是常踩到的坑之一,特別記錄一下。
進入容器
所謂的進入容器,就是指進到 Docker Container 的CLI介面。 我對於 Docker Container的理解還是傾向於它類似於 VM 虛擬機的概念, 進入容器也就類似於開啟虛擬機的管理介面的意思。 (我是這麼想啦 但許多教學都說這兩個觀念完全不同)
進入Docker容器的常見方法
- Docker Attach
- SSH
- exec
Docker Attach
這是使用 Docker的指令進入容器的CLI介面
|
|
接下來就會進到容器的CLI介面中,
但必須注意的是:==不是每個容器都有bash的shell==
很多教學都是直接用什麼 apt apt-get 之類的常用linux管理指令,在某些容器裡是不適用的
另外要注意的是,使用這個指令進入容器後,管理的session就只有這一個,如果hang住了,是沒辦法像開其他session來救的
SSH
用SSH就跟日常使用連去server管理的方式一樣,但前提是容器必須有裝 SSH Server。 用SSH就沒有前面的 session 問題,但網路上好像不建議docker用ssh,為啥我就沒細看了。
exec
這也是個docker指令 簡單說就是在host主機上,指定容器去執行某些指令,例如開啟一個shell
|
|
以上命令為開啟一個bash shell 但就如前面有提到的,不是每個容器都有bash,我就是踩到了這個坑。
心得總結
Docker 運作上感覺真的跟VM很像,目前都還只是部屬一些服務自己日常玩而已,不知道實際在企業應用是什麼樣子,也許未來有機會再多熟悉些。