docker容器多服務——Supervisor


docker容器多服務——Supervisor#


參考文檔:http://blog.csdn.net/kongxx/article/details/42528423


docker本身是不建議一個容器中運行多個服務的,但如果有需要的可以通過linux服務來實現,例如:Supervisor,supervisor本身是linux下一個進程管理工具,通過配置文件可以實現啟動服務,並且中斷后也可以自動啟動。

創建一個Dockerfile

FROM centos:centos6

MAINTAINER XXX "XXX@XXX.com"

安裝服務shell腳本

RUN XXXXX

mysql預啟動和配置

RUN /etc/init.d/mysqld start &&
mysql -e "grant all privileges on . to 'root'@'%' identified by 'letmein';"&&
mysql -e "grant all privileges on . to 'root'@'localhost' identified by 'letmein';"&&
mysql -u root -pletmein -e "show databases;"

RUN mkdir -p /var/log/supervisor

復制配置文件

COPY supervisord.conf /etc/supervisord.conf

映射端口

EXPOSE 22 3306

啟動supervisord服務

CMD ["/usr/bin/supervisord"]

同級目錄下創建supervisord.conf文件

[supervisord]
nodaemon=true

[program:sshd]
command=/usr/sbin/sshd -D

[program:mysqld]
command=/usr/bin/mysqld_safe

build鏡像

sudo docker build -t myserver .

啟動容器

sudo docker run --name=myserver -d -P myserver

驗證服務
sudo docker port 容器id
直接用ssh和mysql工具連接一下服務


SUPERVISOR說明###

原文:http://www.udpwork.com/item/13457.html

Supervisor,簡單來說,就是一個Python寫的進程管理器。不僅僅可以用來管理進程,還可以用來做開機啟動。

可以實現以下功能

  • 重啟機器后,能夠自啟動。
  • 平時有個方便的進程查看方式。
  • 能夠有個方便的方式重啟進程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM