mysql用supervisor管理_Docker使用supervisor启动Mysql

在使用Docker的时候常常会遇到单个Docker容器启动多个服务时非常困难,比如我需要在单个Docker容器中启动SSH和Mysql,会遇到mysql启动成功但是没有SSH功能或有SSH功能mysql无法启动成功。那么我们用什么方式来解决这种问题呢?

supervisor完美的解决了我们问题,接下来看一下如何利用supervisor启动带有SSH功能的Mysql。

1.cetnos基础镜像 构建ssh-supervisor

下载地址:docker pull aarongo/centos-ssh-supervisor

另附dockerfile:?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19FROM centos:centos6

MAINTAINER  aaron "aaron.docker@gmail.com"

#Install supervisor

RUN rpm -ivh http://dl.fedoraproject.org/pub/ ... ease-6-8.noarch.rpm

RUN yum -y update  && yum -y install python-pip && /usr/bin/pip install supervisor

RUN mkdir -p /etc/supervisor/conf.d && mkdir -p /var/log/supervisor

COPY supervisord.conf /etc/supervisord.conf

VOLUME /var/log/supervisor

#install sshd

RUN yum install -y openssh-server && sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config

# select root pasword

RUN echo "root:pasword" | chpasswd && echo "root   ALL=(ALL)       ALL" >> /etc/sudoers

RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

RUN mkdir /var/run/sshd

EXPOSE 22

CMD ["/usr/bin/supervisord"]

运行方式:?

1

2

3docker run -d -p : aarongo/centos-ssh-supervisor

#or

docker run -it -p : aarongo/centos-ssh-supervisor

302bad67f9dda864b7616bad5169f95e.gif

115202_gyPy_2277525.jpg (111.07 KB, 下载次数: 21)

2014-11-27 08:53 上传

2.构建以ssh-supervisor为基础的mysql

下载地址:?

1docker pull aarongo/centos-mysql-supervisor

Dockerfile:?

1

2

3

4

5

6

7

8

9

10

11

12

13FROM aarongo/centos-ssh-supervisor

MAINTAINER  aaron "aaron.docker@gmail.com"

RUN  yum install -y mysql-server mysql

RUN /etc/init.d/mysqld start &&\

mysql -e "grant all privileges on *.* to 'user'@'%' identified by 'password';"&&\

mysql -e "grant all privileges on *.* to 'user'@'localhost' identified by 'password';"&&\

mysql -u user -ppassword -e "show databases;"

COPY supervisord.conf /etc/supervisord.conf

VOLUME ["/mysqldata"]

EXPOSE 22 3306

CMD ["/usr/bin/supervisord"]

#VOLUME 选项是将本地的目录挂在到容器中 此处要注意:当你运行-v <hostdir>: 时要确保目录内容相同否则会出现数据丢失

运行方式:?

1

2

3docker run -p <localport>: -p : -it -v /mysqldata:/var/lib/mysql aarongo/centos-mysql-supervisor

#or

docker run -d -p <localport>: -p : -v /mysqldata:/var/lib/mysql aarongo/centos-mysql-supervisor

如果运行成功:?

1

22014-11-26 03:55:27,487 INFO success: sshd entered RUNNING state, process has stayed up for > than 1 stsecs)

2014-11-26 03:55:27,487 INFO success: mysqld entered RUNNING state, process has stayed up for > th

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值