nginx+redis多进程镜像制作

本文制作在容器中启动nginx+redis双进程的镜像。
【准备脚本】
创建目录:mkdir -pv /docker/multiproc/

1,nginx安装脚本/docker/multiproc/install_nginx.sh
yum install -y wget tar gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel

cd /usr/local/src
wget 'http://nginx.org/download/nginx-1.14.2.tar.gz' #也可提前下载好,执行copy命令
tar -zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-stream_ssl_module
make && make install


2,redis安装脚本/docker/multiproc/install_redis.sh
yum install -y wget tar gcc gcc-c++ make openssl openssl-devel cmake

cd /usr/local/src
wget 'http://download.redis.io/releases/redis-4.0.9.tar.gz'
tar -zxf redis-4.0.9.tar.gz
cd redis-4.0.9
make && make PREFIX=/usr/local/redis install
mkdir -pv /usr/local/redis/conf/
cp redis.conf /usr/local/redis/conf/
m -rf /usr/local/src/*

3,dockerfile配置:/docker/multiproc/Dockerfile
FROM centos7
MAINTAINER liming liming_01@163.com
COPY install_nginx.sh install_redis.sh /tmp/
COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
RUN sh /tmp/install_nginx.sh
RUN sh /tmp/install_redis.sh
COPY start_nginx_redis /usr/bin/
ENTRYPOINT["start_nginx_redis"]

★启动脚本/docker/multiproc/start_nginx_redis
#!/bin/bash
/usr/local/nginx/sbin/nginx #注意:与单独制作nginx区别,此处可以在后台运行。
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf #多进程时,最后一个需要在前台执行,保证容器不会退出。

4,nginx+redis镜像构建
docker build -t my_webserver:1.0 /docker/multiproc/

原文地址:https://www.cnblogs.com/mountain2011/p/11305851.html