####构建文件
FROM centos:7
MAINTAINER huazai [email protected]
RUN yum update -y
RUN yum install -y wget gcc openssl openssl-devel
RUN rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm \
&& rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-el7
RUN yum install -y nginx
RUN yum install -y php71w-common php71w-cli php71w-fpm php71w-opcache php71w-gd php71w-mysqlnd php71w-mysqli php71w-mbstring php71w-pecl-redis php71w-pecl-memcached php71w-devel php71w-pdo php71w-mcrypt
RUN mkdir /soft/
WORKDIR /soft/
COPY libevent-2.1.8-stable.tar.gz .
COPY event-2.3.0.tgz .
COPY composer.phar .
COPY start.sh .
RUN chmod +x start.sh
RUN tar -zxvf libevent-2.1.8-stable.tar.gz \
&& cd libevent-2.1.8-stable \
&& ./configure --prefix=/usr/local/libevent \
&& make \
&& make install
RUN tar -zxvf event-2.3.0.tgz \
&& cd event-2.3.0 \
&& phpize \
&& ./configure --with-event-libevent-dir=/usr/local/libevent --with-php-config=/usr/bin/php-config \
&& make \
&& make install \
&& echo extension = event.so >> /etc/php.d/sockets.ini
RUN mv composer.phar /usr/local/bin/composer \
&& composer config -g repo.packagist composer https://packagist.phpcomposer.com
EXPOSE 80
cmd ['/bin/sh','/soft/start.sh']
1 基于centos7 搭建的 nignx1.16.5 和 php7.1.33 镜像
2 内置了大部分开发需要的环境
3 内置了workerman所需要的扩展
4 内置compoer
5 copy的文件都在/soft文件下
####启动命令
docker run -dit --name 'webServer' -p 80:80 -v nginx自己配置文件:/etc/nginx/nginx.conf -v 子目录影射:/etc/nginx/conf.d/ --privileged=true huazai1023/nginx-php71 /usr/sbin/init
####特殊说明
1 docker 中使用 cenos7 出先了D-BUS这样的错误,需要 在启动镜像的时候 加上 --privileged=true /usr/sbin/init ,如上图所示
2 docker 中使用centos7 不允许 使用 service 直接启动服务,所以 需要 进入到容器后 执行 /soft/start.sh
Content type
Image
Digest
Size
316.4 MB
Last updated
over 6 years ago
docker pull huazai1023/nginx-php71