星期四, 9月 10, 2015

SELinux 讓 CentOS 7 上的 Docker 跟別人不一樣?

很多介紹 Docker 的文章都是說 sudo service docker start 即可啟動服務,但在 CentOS 7 上卻必須用 su - 加上留一個 Terminal 給 docker -d,否則後續每個 docker run 的結果都是 Exited?理由就在 CentOS 7 預設的 SELinux,看來關掉比較方便(但又不太安全?),組態管理在 /etc/sysconfig/selinux 這個檔案設定,或可用 getenforce / setenforce 命令短期控制。

[2015/09/18]
有問題的不見得是 docker 或 SELinux,別人提供的 image 也可能是原因。像我原本搭配一個 sameersbn/redis 測試,必須關閉 SELinux 或用 su - / docker -d 這招,但後來測試官方的 redis image 卻沒有這個問題,看來以後還得好好地研究 dockerfile 才行。
[2016/03/19]
在試 HAProxy 的過程中,排除了 SELinux 還是不行?從這篇回答學到,還可以在最後加上「 tail -f /dev/null」。
參考來源:How can I use docker without sudo? C6.5 與 C7 的一些差異與 systemctl 的介紹

沒有留言:

張貼留言