docker容器默认只提供一个服务,
我试图ssh进去 gdb git tcpdump strace valgrind 又安装redis 折腾很长时间 主要遇如下3个问题
说明: Why you don’t need to run SSHd in your Docker containers
给出解决办法
How do I use it?
First, figure out the PID of the container you want to enter:
PID=$(docker inspect —format {{.State.Pid}})
Then enter the container:
nsenter —target $PID —mount —uts —ipc —net —pid
经历三个过程
[root@localhost wang]# python -V Python 2.7.5
yum install python-setuptools
easy_install supervisor
成功安装后可以登陆python
import supervisor 查看是否能成功加载 Supervisor配置
echo_supervisord_conf > /etc/supervisord.conf
supervisor自带有Web Server, 可以通过页面来管理进程
[inet_http_server] ; inet (TCP) server disabled by default port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface) ;username=user ; (default is no username (open server)) ;password=123 ; (default is no password (open server))
supervisord -c /etc/supervisord.conf
[root@localhost wang]# ps -ef |grep supervisord root 24673 1 0 07:19 ? 00:00:00 /usr/bin/python /usr/bin/supervisord
supervisord 是后台管理服务器, 用来依据配置文件的策略管理后台守护进程; supervisorctl 用于管理员向后台管理程序发送 启动/重启/停止 等指令
#supervisor来启动多个服务
RUN yum -y install wget
RUN wget https://bootstrap.pypa.io/ez_setup.py -O - | python
RUN easy_install supervisor
RUN mkdir -p /var/log/supervisor
ADD ./centos/reids/supervisord.conf /etc/supervisord.conf
RUN yum clean all
创建supervisord.conf
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
[program:redis]
command=redis-server /etc/redis/redis.conf
#!/bin/bash
docker build -f /home/wang/scripts/docker/Dockerfile -t myredis .
代码地址: https://git.oschina.net/wang_cyi/mydocker.git
镜像地址: https://hub.alauda.cn/repos/troyadmin/myredis
-----------------------------------end-----------------------------