1
docker build -t nginx_alpine:v1 .
1
2
3
4
5
6
7
8
9
10
11
###alpine-bash
from alpine:latest

MAINTAINER RinySaint aichn.cn

RUN alpine_version=`cat /etc/issue | head -1 | awk '{print $5}'` \
&& echo "https://mirrors.aliyun.com/alpine/v${alpine_version}/main/" > /etc/apk/repositories \
&& apk update && apk upgrade && apk add --no-cache bash bash-doc bash-completion \
&& rm -rf /var/cache/apk/*

CMD ["/bin/bash"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
###alpine-sshd (arm安装tzdata 必须3.12)
FROM alpine:latest

MAINTAINER RinySaint aichn.cn

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
&& apk update \
&& apk add --no-cache openssh tzdata \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config \
&& ssh-keygen -t dsa -P "" -f /etc/ssh/ssh_host_dsa_key \
&& ssh-keygen -t rsa -P "" -f /etc/ssh/ssh_host_rsa_key \
&& ssh-keygen -t ecdsa -P "" -f /etc/ssh/ssh_host_ecdsa_key \
&& ssh-keygen -t ed25519 -P "" -f /etc/ssh/ssh_host_ed25519_key \
&& echo "root:root" | chpasswd

EXPOSE 22

CMD ["/usr/sbin/sshd", "-D"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
###alpine-nginx
FROM alpine:latest
maintainer RinySaint aichn.cn
COPY repositories /etc/apk/repositories
RUN apk update && apk add iotop gcc libgcc libc-dev libcurl libc-utils pcre-dev zlib-dev libnfs make pcre pcre2 zip unzip net-tools pstree wget libevent libevent-dev iproute2

ADD nginx-1.16.1.tar.gz /opt/
RUN cd /opt/nginx-1.16.1 && ./configure --prefix=/apps/nginx && make && make install && ln -sv /apps/nginx/sbin/nginx /usr/bin/

RUN addgroup -g 2019 -S nginx && adduser -s /sbin/nologin -S -D -u 2019 -G nginx nginx

COPY nginx.conf /apps/nginx/conf/nginx.conf
ADD linux37.tar.gz /data/nginx/html

RUN chown nginx.nginx /data/nginx/ /apps/nginx/ -R

EXPOSE 80 443
CMD ["nginx"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
### alpine-sshd-git(arm安装tzdata 必须3.12)

FROM alpine:3.12

MAINTAINER RinySaint aichn.cn

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories

RUN apk update && apk add git && apk add openssh
RUN sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config

RUN mkdir -p ~/.ssh && chmod 700 ~/.ssh && \
ssh-keygen -A && \
touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && \
echo "root:root" |chpasswd

RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone && \
apk del tzdata

WORKDIR /www
VOLUME ["/www"]

EXPOSE 22

CMD ["/usr/sbin/sshd", "-D"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
### alpine-frpc
FROM alpine:latest

MAINTAINER RinySaint aichn.cn

WORKDIR /
ENV FRP_VERSION 0.27.0

RUN set -x && \
wget --no-check-certificate https://download.fastgit.org/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz && \
tar xzf frp_${FRP_VERSION}_linux_amd64.tar.gz && \
cd frp_${FRP_VERSION}_linux_amd64 && \
mkdir -p /home && \
mv frpc /home && \
mv frpc.ini /home/frpc.ini && \
cd / && \
rm -rf *.tar.gz && \
rm -rf frp_${FRP_VERSION}_linux_amd64

WORKDIR /home

CMD ["/home/frpc", "-c", "/home/frpc.ini"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
###nginx-php7-sshd-git-frpc-alpine
FROM alpine:latest

MAINTAINER RinySaint aichn.cn

ENV TIMEZONE Asia/Shanghai
ENV PHP_MEMORY_LIMIT 512M
ENV MAX_UPLOAD 50M
ENV PHP_MAX_FILE_UPLOAD 200
ENV PHP_MAX_POST 100M

ADD ["frpc","frpc.ini","frpcwatch.sh", "start.sh", "/home/"]

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories && \
apk update && apk add git && apk add openssh && \
sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config && \
sed -i "s/#Port.*/Port 22/g" /etc/ssh/sshd_config && \
mkdir -p ~/.ssh && chmod 700 ~/.ssh && \
ssh-keygen -A && \
touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && \
echo "root:a111111" |chpasswd && \
apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone && \
apk del tzdata && \
chmod +x /home/frpc && chmod +x /home/frpcwatch.sh && chmod +x /home/start.sh && \
apk add nginx && \
apk add php7-fpm\
php7 \
php7-dev \
php7-apcu \
php7-bcmath \
php7-xmlwriter \
php7-ctype \
php7-curl \
php7-exif \
php7-iconv \
php7-intl \
php7-json \
php7-mbstring\
php7-opcache \
php7-openssl \
php7-pcntl \
php7-pdo \
php7-mysqlnd \
php7-mysqli \
php7-pdo_mysql \
php7-pdo_pgsql \
php7-phar \
php7-posix \
php7-session \
php7-xml \
php7-simplexml \
php7-mcrypt \
php7-xsl \
php7-zip \
php7-zlib \
php7-dom \
php7-redis\
php7-tokenizer \
php7-gd \
php7-mongodb\
php7-fileinfo \
php7-zmq \
php7-memcached \
php7-xmlreader && \
sed -i "s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i" /etc/php7/php.ini && \
sed -i "s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i" /etc/php7/php.ini && \
sed -i "s|;*upload_max_filesize =.*|upload_max_filesize = ${MAX_UPLOAD}|i" /etc/php7/php.ini && \
sed -i "s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i" /etc/php7/php.ini && \
sed -i "s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i" /etc/php7/php.ini && \
sed -i "s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= 0|i" /etc/php7/php.ini && \
rm -rf /var/cache/apk/*

ENTRYPOINT ["/home/start.sh"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
FROM alpine:3.12

MAINTAINER RinySaint aichn.cn

ADD ["frpc", "frpc.ini","frpcwatch.sh", "start.sh", "/home/"]

# sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories \
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
apk update && apk add git && apk add openssh && \
sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config && \
sed -i "s/#Port.*/Port 22/g" /etc/ssh/sshd_config && \
mkdir -p ~/.ssh && chmod 700 ~/.ssh && \
ssh-keygen -A && \
touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && \
echo "root:a111111" |chpasswd && \
apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone && \
apk del tzdata && \
chmod +x /home/frpc && chmod +x /home/frpcwatch.sh && chmod +x /home/start.sh && \
apk add nginx && \
apk add php7 php7-fpm php7-opcache php7-curl php7-gd php7-mbstring php7-mysqli php7-json php7-mcrypt php7-redis php7-pdo php7-xml && \
apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing gnu-libiconv && \
sed -i "s|;*date.timezone =.*|date.timezone = Asia/Shanghai |i" /etc/php7/php.ini && \
sed -i "s|;*memory_limit =.*|memory_limit = 512M|i" /etc/php7/php.ini && \
sed -i "s|;*upload_max_filesize =.*|upload_max_filesize = 50M|i" /etc/php7/php.ini && \
sed -i "s|;*max_file_uploads =.*|max_file_uploads = 200|i" /etc/php7/php.ini && \
sed -i "s|;*post_max_size =.*|post_max_size = 100M|i" /etc/php7/php.ini && \
sed -i "s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= 1|i" /etc/php7/php.ini && \
rm -rf /var/cache/apk/*

ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php

ENTRYPOINT ["/home/start.sh"]
1
2
3
4
5
6
#!/bin/sh
mkdir -p /run/nginx
/usr/sbin/nginx
/usr/sbin/php-fpm7
/home/frpcwatch.sh
tail -f /etc/hosts