diff --git a/gradle-node/Dockerfile b/gradle-node/Dockerfile new file mode 100644 index 0000000..3ffc252 --- /dev/null +++ b/gradle-node/Dockerfile @@ -0,0 +1,88 @@ +FROM registry.cn-hangzhou.aliyuncs.com/kennylee/gradle:4.6.0-jdk8-alpine + +ENV NODE_VERSION 8.15.0 + +USER root + +# 使用阿里云镜像 +RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories + +RUN addgroup -g 1001 node \ + && adduser -u 1001 -G node -s /bin/sh -D node \ + && apk add --no-cache \ + libstdc++ \ + && apk add --no-cache --virtual .build-deps \ + binutils-gold \ + curl \ + g++ \ + gcc \ + gnupg \ + libgcc \ + linux-headers \ + make \ + python \ + # gpg keys listed at https://github.com/nodejs/node#release-keys + && for key in \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + 77984A986EBC2AA786BC0F66B01FBB92821C587A \ + 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \ + 4ED778F539E3634C779C87C6D7062848A1AB005C \ + A48C2BEE680E841632CD4E44F07496B3EB3C1762 \ + B9E2F5981AA6E0CD28160D9FF13993A75599653C \ + ; do \ + gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \ + gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \ + gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \ + done \ + && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \ + && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xf "node-v$NODE_VERSION.tar.xz" \ + && cd "node-v$NODE_VERSION" \ + && ./configure \ + && make -j$(getconf _NPROCESSORS_ONLN) \ + && make install \ + && apk del .build-deps \ + && cd .. \ + && rm -Rf "node-v$NODE_VERSION" \ + && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt + +ENV YARN_VERSION 1.12.3 + +RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \ + && for key in \ + 6A010C5166006599AA17F08146C2130DFD2497F5 \ + ; do \ + gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \ + gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \ + gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \ + done \ + && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \ + && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \ + && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \ + && mkdir -p /opt \ + && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \ + && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \ + && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \ + && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \ + && apk del .build-deps-yarn + +# Install base packages +RUN apk --no-cache update && \ + apk --no-cache upgrade && \ + apk --no-cache add curl bash tzdata tar unzip && \ + ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ + echo "Asia/Shanghai" > /etc/timezone && \ + rm -fr /tmp/* /var/cache/apk/* + +# add cnpm for taobao registry +RUN npm install -g cnpm --registry=https://registry.npm.taobao.org + +CMD [ "node" ] + diff --git a/gradle-node/README.md b/gradle-node/README.md new file mode 100644 index 0000000..3e6d75d --- /dev/null +++ b/gradle-node/README.md @@ -0,0 +1,18 @@ +# Gradle+Node + +Maven+Gradle+Node的环境,maven源已配置使用阿里云镜像,Node配置淘宝镜像。 + +前后端分离环境,适应java+vue等前后端都需要构建的环境。 + +## 容器内的一些配置 + +Gradle本地库 `/home/gradle/.gradle` +Maven本地仓库挂载 `/var/maven/repository` + +## 参考 + +* [docker-maven](https://github.com/carlossg/docker-maven) +* [docker-gradle](https://github.com/keeganwitt/docker-gradle) +* [docker-node](https://github.com/nodejs/docker-node/) + + diff --git a/gradle/README.md b/gradle/README.md index b80da60..da2c852 100644 --- a/gradle/README.md +++ b/gradle/README.md @@ -1,7 +1,17 @@ # Gradle -构建参考 https://github.com/keeganwitt/docker-gradle +Maven+Gradle的环境,maven源已配置使用阿里云镜像。 -Gradle本地库 `/home/gradle` +嗯,很多时候,使用Gradle的环境也是跟Maven密不可分的,所以就写了这个。 + +## 容器内的一些配置 + +Gradle本地库 `/home/gradle/.gradle` Maven本地仓库挂载 `/var/maven/repository` +## 参考 + +* [docker-maven](https://github.com/carlossg/docker-maven) +* [docker-gradle](https://github.com/keeganwitt/docker-gradle) + + diff --git a/maven/README.md b/maven/README.md index 3d16210..a006a5a 100644 --- a/maven/README.md +++ b/maven/README.md @@ -9,3 +9,5 @@ maven本地仓库挂载 `/var/maven/repository` +参考: [docker-maven](https://github.com/carlossg/docker-maven) +