docker多服务示例:
FROM centos6.9_nginx:v1
RUN yum install php-fpm php-gd php-mbstring -y
ADD www.conf /etc/php-fpm.d/www.conf
ADD default.conf /etc/nginx/conf.d/default.conf
RUN mkdir /html
WORKDIR /html
RUN wget http://static.kodcloud.com/update/download/kodexplorer4.40.zip
RUN yum install unzip -y
RUN unzip kodexplorer4.40.zip
RUN chown -R nginx:nginx .
ADD init.sh /init.sh
CMD ["/bin/bash","/init.sh"]
vi /init.sh
#!/bin/bash
service php-fpm start
nginx -g 'daemon off;'
dockerfile使用变量的例子:
[root@docker01 httpd_sshd]# cat dockerfile
FROM centos:6.9
RUN yum install openssh-server -y
ADD init.sh /init.sh
ENV SSH_PASS 123456
CMD ["/bin/bash","/init.sh"]
EXPOSE 80 22
[root@docker01 httpd_sshd]# cat init.sh
#/bin/bash
echo "SSH_PASS" |passwd --stdin root
/etc/init.d/sshd start;
/usr/sbin/httpd -D FOREGROUND
alpine多服务实例
[root@docker01 alpine]# cat dockerfile
FROM alpine:latest
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories && \
apk update && \
apk add nginx && \
apk add php7-fpm php7-session php7-json php7-curl php7-exif php7-mbstring php7-ldap php7-gd php7-pdo php7-xml php7-iconv && \
sed -i '/^user/c user = nginx' /etc/php7/php-fpm.d/www.conf && \
sed -i '/^group/c group = nginx' /etc/php7/php-fpm.d/www.conf
ADD default.conf /etc/nginx/conf.d/default.conf
RUN mkdir /html
WORKDIR /html
RUN wget http://static.kodcloud.com/update/download/kodexplorer4.40.zip && \
unzip kodexplorer4.40.zip && \
chown -R nginx:nginx .
RUN mkdir -p /run/nginx
ADD init.sh /init.sh
CMD ["/bin/sh" "/init.sh"]
[root@docker01 alpine]# cat init.sh
#!/bin/bash
nginx
php-fpm7 -F
[root@docker01 alpine]# cat default.conf
server {
listen 80;
server_name zy.com;
root /html;
location / {
index index.php index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}