docker 使用注意要點
啓動docker服務前必須保證firewalld服務處於正常工作狀態,因爲docker的NAT類型網絡需要依賴iptables。但使用疊加網絡時除外。
docker程序的安裝,如果系統禁用了SELinux,安裝過程會報錯,如果有需要可以啓用SELinux。
docker的最佳實踐是運行單進程的,能夠解決程序的依賴關係和運行時環境,方便遷移和部署。
運行的容器內部必須有一個進程,否則容器運行後會立即終止。
容器中運行的唯一進程必須運行在前臺,不能以守護進程的方式運行,不然該容器會終止
如果確定要在容器中運行多個進程,一般需要有一個管控程序來統一所有進程,使所有進程作爲管控程序的子進程,例如supervised 。
在提供綜合服務的集羣架構中,多個容器(進程)間通信的解決方案:
- (1)由於docker中的容器的IP地址會不斷變化,多個容器需要通信時,需要以主機名來定位至指定容器。
- (2)使用聯盟式網絡。
爲了控制容器鏡像的大小,在容器中執行過yum命令後,製作鏡像前要儘量清理掉不必要的內容,比如執行 yum clean all
容器中的進程都需要運行在前臺,很多程序定義其運行在前臺的方法可以查詢其unit file文件
在使用別人製作的鏡像作爲dockerfile的base image時,小心別人的ONBUILD命令可能會設置後門,慎用!