博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker 自制alpine-lnp镜像
阅读量:7186 次
发布时间:2019-06-29

本文共 7170 字,大约阅读时间需要 23 分钟。

简单粗暴点吧

jenkins 镜像下载:docker pull jenkins:alpine

dockfile 原地址:https://gist.github.com/phith0n/373cc078a8b25a20432408d5d7556770

php5.dockerfileFROM alpine:3.3MAINTAINER Didiet Noor 
(@lynxluna)# Patch APK Mirror to YKodeRUN echo "http://dl-4.alpinelinux.org/alpine/v3.3/main" > /etc/apk/repositoriesENV TIMEZONE Asia/ShanghaiENV PHP_MEMORY_LIMIT 512MENV MAX_UPLOAD 50MENV PHP_MAX_FILE_UPLOAD 200ENV PHP_MAX_POST 100MRUN apk update && \ apk add tzdata && \ cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && \ echo "${TIMEZONE}" > /etc/timezone && \ apk add php-intl \ php-mcrypt \ php-openssl \ php-gmp \ php-json \ php-dom \ php-pdo \ php-zip \ php-zlib \ php-mysqli \ php-bcmath \ php-gd \ php-xcache \ php-pdo_mysql \ php-gettext \ php-xmlreader \ php-xmlrpc \ php-bz2 \ php-memcache \ php-iconv \ php-curl \ php-ctype \ php-fpm \ php-phar \ php && \ curl -sS https://getcomposer.org/installer | \ php -- --install-dir=/usr/bin --filename=composer && \ sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/php-fpm.conf && \ sed -i -e "s/listen\s*=\s*127.0.0.1:9000/listen = 9000/g" /etc/php/php-fpm.conf && \ sed -i "s|;date.timezone =.*|date.timezone = ${TIMEZONE}|" /etc/php/php.ini && \ sed -i "s|memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|" /etc/php/php.ini && \ sed -i "s|upload_max_filesize =.*|upload_max_filesize = ${MAX_UPLOAD}|" /etc/php/php.ini && \ sed -i "s|max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|" /etc/php/php.ini && \ sed -i "s|post_max_size =.*|max_file_uploads = ${PHP_MAX_POST}|" /etc/php/php.ini && \ sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/php.ini && \ mkdir /www && \ apk del tzdata && \ rm -rf /var/cache/apk/*

 

php7.dockerfileFROM alpine:edgeMAINTAINER phithon 
ENV TIMEZONE Asia/ShanghaiENV PHP_MEMORY_LIMIT 512MENV MAX_UPLOAD 50MENV PHP_MAX_FILE_UPLOAD 200ENV PHP_MAX_POST 100MRUN apk update && \ apk add tzdata curl && \ cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && \ echo "${TIMEZONE}" > /etc/timezone && \ apk --update --repository=http://dl-4.alpinelinux.org/alpine/edge/testing add \ php7 \ php7-common \ php7-intl \ php7-gd \ php7-mcrypt \ php7-openssl \ php7-gmp \ php7-json \ php7-dom \ php7-pdo \ php7-zip \ php7-zlib \ php7-mysqli \ php7-bcmath \ php7-pdo_mysql \ php7-gettext \ php7-xmlreader \ php7-xmlrpc \ php7-bz2 \ php7-iconv \ php7-curl \ php7-ctype \ php7-fpm \ php7-mbstring \ php7-session \ php7-phar && \ curl -sS https://getcomposer.org/installer | \ php7 -- --install-dir=/usr/bin --filename=composer && \ sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php7/php-fpm.conf && \ sed -i -e "s/listen\s*=\s*127.0.0.1:9000/listen = 9000/g" /etc/php7/php-fpm.d/www.conf && \ sed -i "s|;date.timezone =.*|date.timezone = ${TIMEZONE}|" /etc/php7/php.ini && \ sed -i "s|memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|" /etc/php7/php.ini && \ sed -i "s|upload_max_filesize =.*|upload_max_filesize = ${MAX_UPLOAD}|" /etc/php7/php.ini && \ sed -i "s|max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|" /etc/php7/php.ini && \ sed -i "s|post_max_size =.*|max_file_uploads = ${PHP_MAX_POST}|" /etc/php7/php.ini && \ sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php7/php.ini && \ ln -s /usr/bin/php7 /usr/bin/php && \ mkdir /www && \ apk del tzdata curl && \ rm -rf /var/cache/apk/*

 

这里选择php5的版本

docker build -t alpine:v1 .

 

nginx-dockerfile:

FROM alpine:v1ENV TIME_ZONE Asiz/ShanghaiRUN mkdir /opt/www -pRUN mkdir /var/log/www -pRUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \ apk update && \ apk -u add nginx &&\    apk -u add supervisorADD nginx.conf /etc/nginx/ADD default.conf /etc/nginx/conf.d/ADD supervisord.conf /etc/supervisord.confCMD ["supervisord", "-c", "/etc/supervisord.conf"]

 

 

nginx.conf#user  nobody;worker_processes  auto;error_log  /var/log/nginx/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {
worker_connections 65535; use epoll;}http {
include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; server_tokens off; keepalive_timeout 120; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain text/css application/json application/javascript application/x-javascript text/javascript text/xml application/rss+xml application/atom+xml application/rdf+xml image/svg+xml; gzip_vary on; client_header_buffer_size 16k; large_client_header_buffers 16 32k; open_file_cache max=65535 inactive=60s; open_file_cache_valid 30s; open_file_cache_min_uses 1; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; client_max_body_size 50m; client_body_buffer_size 256k; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; include conf.d/*.conf;}

 

 

cat default.conf server {
listen 80; server_name www.default.com; charset utf-8; root /opt/www; error_log /var/log/www/www.default.com.log.err;# access_log /var/log/www/www.default.com.log main; index index.html index.php; large_client_header_buffers 4 16k; client_max_body_size 300m; client_body_buffer_size 128k; proxy_connect_timeout 300; proxy_read_timeout 300; proxy_send_timeout 300; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; gzip on; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php {
# try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; include fastcgi_params; }}

 

cat /etc/supervisord.conf [supervisord]  nodaemon=true    [program:php]  command=php-fpmstdout_events_enabled=truestderr_events_enabled=true  [program:nginx]startsecs=50command=nginx -g "daemon off;"[program:crond]command=crond -fautostart=trueautorestart=trueredirect_stderr=true

 

docker run -itd -p 0.0.0.0:80:80 d4012c88f6d0

 

dcoker exec -it 31118398060a sh

 

转载于:https://www.cnblogs.com/Tempted/p/7806114.html

你可能感兴趣的文章
【效率】专为Win7系统设计的极简番茄计时器 - MiniPomodoro (附源码)
查看>>
Thymeleaf 使用时的标签
查看>>
vim IDE
查看>>
统一异常处理
查看>>
结对编程初涉猎——结对伙伴的代码复审
查看>>
YiiFramework(PHP)
查看>>
Jquery打造可以上下移动行的表格
查看>>
linux英文斜体乱码 【ubuntu 10.10】
查看>>
(转载) Linux——I/O复用
查看>>
1095: 时间间隔(多实例测试)
查看>>
DG_Oracle DataGuard作用和概念(概念)
查看>>
[Java Concurrency] Chapter 1 Thread Management
查看>>
Android开发之Java集合类性能分析
查看>>
TensorFlow-多层感知机(MLP)
查看>>
java代码继承难点。构造方法的调用
查看>>
Git revert及其他一些回退操作
查看>>
软件测试 -- 测试人员和QA的区别
查看>>
icp算法的一些参考资料
查看>>
支持常见数据库差异对照说明
查看>>
2018-2019-2 20165330《网络对抗技术》Exp1 PC平台逆向破解
查看>>