阅读准备-构建redis容器

docker容器默认只提供一个服务,

我试图ssh进去 gdb git tcpdump strace valgrind 又安装redis 折腾很长时间 主要遇如下3个问题

  • 用容器内如何安装Supervisor ? RUN wget https://bootstrap.pypa.io/ez_setup.py -O - | python RUN easy_install supervisor
  • 编译失败造成空间不足—如何清理?
  • 语法 ADD src 是相对被构建的源目录的相对路径, dest 是container中的绝对路径 区别看 第一字符 如果是 ./ 就是相对

说明: 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

经历三个过程

过程 1 Centos Supervisor安装

要求 python环境 因为是一个 Python 程序

[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))

启动supervisor:

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 用于管理员向后台管理程序发送 启动/重启/停止 等指令

过程2 docker supervisor启动多服务

创建Dockerfile:

#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

build镜像

#!/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-----------------------------

原文发布于微信公众号 - 架构说(JiaGouS)

原文发表时间:2015-12-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程坑太多

跟我一起学docker(二)--核心概念和安装

1804
来自专栏运维小白

14.2 NFS服务端安装配置

NFS服务端安装配置目录概要 yum install -y nfs-utils rpcbind vim /etc/exports //加入如下内容 /home/...

3149
来自专栏Bug生活2048

mac下利用docker部署个mysql

这个不多说,直接到官网下载对应的版本安装即可,在配置docker时最好切换阿里云镜像,具体步骤不细说,可参考之前的文章 .net core开发环境搭建中有提到如...

3412
来自专栏Laoqi's Linux运维专列

Docker 配置安装(Ⅲ)

1496
来自专栏田飞雨的专栏

Docker 使用指南 (四)—— 数据卷的使用

有时候需要使用数据库,但是又希望它的数据能保存在本地,Docker中提供了数据卷可以供你方便的操作数据。数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 U...

3.9K0
来自专栏bboysoul

使用docker搭建zabbix

再次之前我们要知道zabbix的主要架构是怎样的,zabbix有一个server端是最主要的,主要是用来收集agent传来的数据然后进行处理等一系列操作,当然有...

1753
来自专栏漫漫全栈路

Docker渐入佳境

以网站服务为例,一般需要80端口,那么如何使容器的端口能被外界访问得到呢?这就要用到容器的端口映射。

2447
来自专栏python爬虫实战之路

使用dockerfile创建docker镜像

什么是docker?看这里Docker_入门?只要这篇就够了!纯干货适合0基础小白

973

Docker Hub:保存并分享你的Docker镜像

Docker Hub 是一个基于云的注册服务网站,提供容器应用或容器服务的构建功能。

2396
来自专栏IT笔记

Docker学习之搭建JavaWeb环境进阶篇

上一篇文章中,简单了学习了一下在Docker环境中搭建JavaWeb环境,其实这时候已经是一个全新的镜像了,就是我们的Ghost系统一样,装配了各式各样的软件一...

3467

扫码关注云+社区

领取腾讯云代金券