diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..47a196e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea/* +/.idea \ No newline at end of file diff --git a/README.md b/README.md index 5fc35c3..92686b9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ # Docker snippets. -Just a bunch of docker file I needed over time. +Just a bunch of docker file we needed over time. + +## docker_base_zulujdk_11_sbt + +At the moment the base image is using Alpine Linux and Azul JDK and precisely zulu11.50.19 JDK 11.0.12 also described here https://docs.azul.com/core/zulu-openjdk/release-notes/october-2021 + +The full list of images available can be seen here https://cdn.azul.com/zulu/bin/ and we are using https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-linux_musl_x64.tar.gz ## docker_base_openjdk_8_sbt @@ -14,5 +20,3 @@ Ruby 2.3 that needed docker:latest as base ## docker_mongodb_2 Mongodb 2.6 image - - diff --git a/docker_base_openjdk_8_sbt/Dockerfile b/docker_base_openjdk_8_sbt/Dockerfile index 2b3e9ec..4dab3c9 100644 --- a/docker_base_openjdk_8_sbt/Dockerfile +++ b/docker_base_openjdk_8_sbt/Dockerfile @@ -1,8 +1,8 @@ FROM docker:latest ENV LANG C.UTF-8 -ENV SCALA_VERSION 2.12.4 -ENV SBT_VERSION 1.1.4 +ENV SCALA_VERSION 2.12.7 +ENV SBT_VERSION 1.2.7 # add a simple script that can auto-detect the appropriate JAVA_HOME value # based on whether the JDK or only the JRE is installed @@ -16,8 +16,8 @@ RUN { \ ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin -ENV JAVA_VERSION 8u151 -ENV JAVA_ALPINE_VERSION 8.131.11-r2 +ENV JAVA_VERSION 8u181 +ENV JAVA_ALPINE_VERSION 8.181.13-r0 RUN set -x \ && apk add --no-cache \ @@ -33,14 +33,14 @@ RUN apk add --update \ postgresql-dev \ curl \ bash \ - jq \ + jq \ && rm -rf /var/cache/apk/* WORKDIR /root RUN \ - pip install awscli && \ + pip install awscli && \ curl -fsL https://downloads.typesafe.com/scala/$SCALA_VERSION/scala-$SCALA_VERSION.tgz | tar xfz - -C /root/ && \ echo >> /root/.bashrc && \ echo 'export PATH=~/scala-$SCALA_VERSION/bin:$PATH' >> /root/.bashrc diff --git a/docker_base_openjdk_8_sbt/README.md b/docker_base_openjdk_8_sbt/README.md index 3f54d80..a9c3e4c 100644 --- a/docker_base_openjdk_8_sbt/README.md +++ b/docker_base_openjdk_8_sbt/README.md @@ -1,3 +1,3 @@ # docker_base_openjdk_8_sbt -openjdk 8 scala 2.11.7 and sbt 1.0.2 +openjdk 8 scala 2.12.7 and sbt 1.2.7 diff --git a/docker_base_zulujdk_11_0_12_sbt/Dockerfile b/docker_base_zulujdk_11_0_12_sbt/Dockerfile new file mode 100644 index 0000000..05c2329 --- /dev/null +++ b/docker_base_zulujdk_11_0_12_sbt/Dockerfile @@ -0,0 +1,53 @@ +FROM docker:latest +ENV LANG C.UTF-8 + +ENV SCALA_VERSION 2.13.7 +ENV SBT_VERSION 1.6.1 + +RUN apk add --update \ + python3 \ + python3-dev \ + py3-pip \ + build-base \ + postgresql-client \ + postgresql-dev \ + curl \ + wget \ + bash \ + jq \ + openssl \ + libc6-compat \ + gcompat \ + protoc \ + && rm -rf /var/cache/apk/* + +RUN ZULU_ARCH=zulu11.50.19-ca-jdk11.0.12-linux_musl_x64.tar.gz && \ + INSTALL_DIR=/usr/lib/jvm && \ + BIN_DIR=/usr/bin && \ + MAN_DIR=/usr/share/man/man1 && \ + ZULU_DIR=$( basename ${ZULU_ARCH} .tar.gz ) && \ + wget -q https://cdn.azul.com/zulu/bin/${ZULU_ARCH} && \ + mkdir -p ${INSTALL_DIR} && \ + tar -xf ./${ZULU_ARCH} -C ${INSTALL_DIR} && rm -f ${ZULU_ARCH} && \ + cd ${BIN_DIR} && find ${INSTALL_DIR}/${ZULU_DIR}/bin -type f -perm -a=x -exec ln -s {} . \; && \ + mkdir -p ${MAN_DIR} && \ + cd ${MAN_DIR} && find ${INSTALL_DIR}/${ZULU_DIR}/man/man1 -type f -name "*.1" -exec ln -s {} . \; && \ + java -version + +WORKDIR /root + +RUN \ + pip install awscli && \ + wget "https://downloads.typesafe.com/scala/${SCALA_VERSION}/scala-${SCALA_VERSION}.tgz" && \ + tar -zxf "scala-${SCALA_VERSION}.tgz" && \ + echo >> /root/.bashrc && \ + echo 'export PATH=~/scala-$SCALA_VERSION/bin:$PATH' >> /root/.bashrc + +RUN \ + wget https://github.com/sbt/sbt/releases/download/v$SBT_VERSION/sbt-$SBT_VERSION.tgz && \ + tar -zxf sbt-$SBT_VERSION.tgz && \ + echo >> /root/.bashrc && echo 'export PATH=/root/sbt/bin:$PATH' >> /root/.bashrc + +COPY build.sbt . +#ADD schedule-grpc.tar.gz /root/sailing_schedule +RUN ./sbt/bin/sbt sbtVersion compile && rm build.sbt diff --git a/docker_base_zulujdk_11_0_12_sbt/README.md b/docker_base_zulujdk_11_0_12_sbt/README.md new file mode 100644 index 0000000..a9a01c0 --- /dev/null +++ b/docker_base_zulujdk_11_0_12_sbt/README.md @@ -0,0 +1,45 @@ +# docker_base_zulujdk_11_sbt + +zulu openjdk 11.0.12, scala 2.13.7 and sbt 1.6.1 + +## Versions + +``` +bash-5.1# java -version +openjdk version "11.0.12" 2021-07-20 LTS +OpenJDK Runtime Environment Zulu11.50+19-CA (build 11.0.12+7-LTS) +OpenJDK 64-Bit Server VM Zulu11.50+19-CA (build 11.0.12+7-LTS, mixed mode) +bash-5.1# protoc --version +libprotoc 3.15.7 +``` + +## Build and run the image + +``` +docker build -t "docker_base_zulujdk_11_sbt:jdk11.0.12_sbt1.6.1" . +docker run --entrypoint sh -it docker_base_zulujdk_11_sbt:jdk11.0.12_sbt1.6.1 +``` + +## Test the image locally against an actual sbt project +At first you have to export you current sbt project that you want to test within this Docker image: + +``` +git archive "" | gzip > your_project.tar.gz +``` + +Copy the tarball into this folder and use the Docker [ADD command] + +``` +COPY build.sbt . +// Add the project into your container: +ADD your_project.tar.gz /root/your_project +RUN ./sbt/bin/sbt sbtVersion compile && rm build.sbt +``` + +Run the container and then compile the project + +``` +docker run --entrypoint bash -it docker_base_zulujdk_11_sbt:jdk11.0.12_sbt1.6.1 +``` + + diff --git a/docker_base_zulujdk_11_0_12_sbt/build.sbt b/docker_base_zulujdk_11_0_12_sbt/build.sbt new file mode 100644 index 0000000..19a8f52 --- /dev/null +++ b/docker_base_zulujdk_11_0_12_sbt/build.sbt @@ -0,0 +1 @@ +scalaVersion := "2.13.7" diff --git a/docker_base_zulujdk_11_0_12_sbt/project/build.properties b/docker_base_zulujdk_11_0_12_sbt/project/build.properties new file mode 100644 index 0000000..13ecfea --- /dev/null +++ b/docker_base_zulujdk_11_0_12_sbt/project/build.properties @@ -0,0 +1,2 @@ +sbt.version=1.6.1 + diff --git a/docker_base_zulujdk_14_sbt/Dockerfile b/docker_base_zulujdk_14_sbt/Dockerfile new file mode 100644 index 0000000..bc1c43b --- /dev/null +++ b/docker_base_zulujdk_14_sbt/Dockerfile @@ -0,0 +1,49 @@ +FROM docker:latest +ENV LANG C.UTF-8 + +ENV SCALA_VERSION 2.13.4 +ENV SBT_VERSION 1.4.4 + +RUN apk add --update \ + python3 \ + python3-dev \ + py3-pip \ + build-base \ + postgresql-client \ + postgresql-dev \ + curl \ + wget \ + bash \ + jq \ + openssl \ + && rm -rf /var/cache/apk/* + +RUN ZULU_ARCH=zulu14.29.23-ca-jdk14.0.2-linux_musl_x64.tar.gz && \ + INSTALL_DIR=/usr/lib/jvm && \ + BIN_DIR=/usr/bin && \ + MAN_DIR=/usr/share/man/man1 && \ + ZULU_DIR=$( basename ${ZULU_ARCH} .tar.gz ) && \ + wget -q https://cdn.azul.com/zulu/bin/${ZULU_ARCH} && \ + mkdir -p ${INSTALL_DIR} && \ + tar -xf ./${ZULU_ARCH} -C ${INSTALL_DIR} && rm -f ${ZULU_ARCH} && \ + cd ${BIN_DIR} && find ${INSTALL_DIR}/${ZULU_DIR}/bin -type f -perm -a=x -exec ln -s {} . \; && \ + mkdir -p ${MAN_DIR} && \ + cd ${MAN_DIR} && find ${INSTALL_DIR}/${ZULU_DIR}/man/man1 -type f -name "*.1" -exec ln -s {} . \; && \ + java -version + +WORKDIR /root + +RUN \ + pip install awscli && \ + wget "https://downloads.typesafe.com/scala/${SCALA_VERSION}/scala-${SCALA_VERSION}.tgz" && \ + tar -zxf "scala-${SCALA_VERSION}.tgz" && \ + echo >> /root/.bashrc && \ + echo 'export PATH=~/scala-$SCALA_VERSION/bin:$PATH' >> /root/.bashrc + +RUN \ + wget https://github.com/sbt/sbt/releases/download/v$SBT_VERSION/sbt-$SBT_VERSION.tgz && \ + tar -zxf sbt-$SBT_VERSION.tgz && \ + echo >> /root/.bashrc && echo 'export PATH=/root/sbt/bin:$PATH' >> /root/.bashrc + +COPY build.sbt . +RUN ./sbt/bin/sbt sbtVersion compile && rm build.sbt diff --git a/docker_base_zulujdk_14_sbt/README.md b/docker_base_zulujdk_14_sbt/README.md new file mode 100644 index 0000000..b293d9c --- /dev/null +++ b/docker_base_zulujdk_14_sbt/README.md @@ -0,0 +1,3 @@ +# docker_base_zulujdk_14_sbt + +zulu openjdk 14.0.2, scala 2.13.4 and sbt 1.4.4 diff --git a/docker_base_zulujdk_14_sbt/build.sbt b/docker_base_zulujdk_14_sbt/build.sbt new file mode 100644 index 0000000..35a1281 --- /dev/null +++ b/docker_base_zulujdk_14_sbt/build.sbt @@ -0,0 +1 @@ +scalaVersion := "2.13.4" diff --git a/docker_base_zulujdk_15_sbt/Dockerfile b/docker_base_zulujdk_15_sbt/Dockerfile new file mode 100644 index 0000000..82309d4 --- /dev/null +++ b/docker_base_zulujdk_15_sbt/Dockerfile @@ -0,0 +1,49 @@ +FROM docker:latest +ENV LANG C.UTF-8 + +ENV SCALA_VERSION 2.13.4 +ENV SBT_VERSION 1.4.6 + +RUN apk add --update \ + python3 \ + python3-dev \ + py3-pip \ + build-base \ + postgresql-client \ + postgresql-dev \ + curl \ + wget \ + bash \ + jq \ + openssl \ + && rm -rf /var/cache/apk/* + +RUN ZULU_ARCH=zulu15.28.13-ca-jdk15.0.1-linux_musl_x64.tar.gz && \ + INSTALL_DIR=/usr/lib/jvm && \ + BIN_DIR=/usr/bin && \ + MAN_DIR=/usr/share/man/man1 && \ + ZULU_DIR=$( basename ${ZULU_ARCH} .tar.gz ) && \ + wget -q https://cdn.azul.com/zulu/bin/${ZULU_ARCH} && \ + mkdir -p ${INSTALL_DIR} && \ + tar -xf ./${ZULU_ARCH} -C ${INSTALL_DIR} && rm -f ${ZULU_ARCH} && \ + cd ${BIN_DIR} && find ${INSTALL_DIR}/${ZULU_DIR}/bin -type f -perm -a=x -exec ln -s {} . \; && \ + mkdir -p ${MAN_DIR} && \ + cd ${MAN_DIR} && find ${INSTALL_DIR}/${ZULU_DIR}/man/man1 -type f -name "*.1" -exec ln -s {} . \; && \ + java -version + +WORKDIR /root + +RUN \ + pip install awscli && \ + wget "https://downloads.typesafe.com/scala/${SCALA_VERSION}/scala-${SCALA_VERSION}.tgz" && \ + tar -zxf "scala-${SCALA_VERSION}.tgz" && \ + echo >> /root/.bashrc && \ + echo 'export PATH=~/scala-$SCALA_VERSION/bin:$PATH' >> /root/.bashrc + +RUN \ + wget https://github.com/sbt/sbt/releases/download/v$SBT_VERSION/sbt-$SBT_VERSION.tgz && \ + tar -zxf sbt-$SBT_VERSION.tgz && \ + echo >> /root/.bashrc && echo 'export PATH=/root/sbt/bin:$PATH' >> /root/.bashrc + +COPY build.sbt . +RUN ./sbt/bin/sbt sbtVersion compile && rm build.sbt diff --git a/docker_base_zulujdk_15_sbt/README.md b/docker_base_zulujdk_15_sbt/README.md new file mode 100644 index 0000000..1631eda --- /dev/null +++ b/docker_base_zulujdk_15_sbt/README.md @@ -0,0 +1,3 @@ +# docker_base_zulujdk_15_sbt + +zulu openjdk 15.0.1, scala 2.13.4 and sbt 1.4.6 diff --git a/docker_base_zulujdk_15_sbt/build.sbt b/docker_base_zulujdk_15_sbt/build.sbt new file mode 100644 index 0000000..35a1281 --- /dev/null +++ b/docker_base_zulujdk_15_sbt/build.sbt @@ -0,0 +1 @@ +scalaVersion := "2.13.4" diff --git a/ember-cli/Dockerfile b/ember-cli/Dockerfile index 467ab5a..8fc6b8e 100644 --- a/ember-cli/Dockerfile +++ b/ember-cli/Dockerfile @@ -1,4 +1,4 @@ -FROM node:6.11.3 +FROM node:10.16.0 # ember server on port 4200 # livereload server on port 49153 (changed in v2.11.1 from 49152) @@ -11,7 +11,7 @@ CMD ["ember", "server"] # Install watchman build dependencies RUN \ apt-get update -y &&\ - apt-get install -y python-dev + apt-get install -y python-dev python-pip # install watchman # Note: See the README.md to find out how to increase the @@ -28,7 +28,8 @@ RUN \ # Install ember dev dependencies RUN \ - npm install -g bower@1.8.0 + npm install -g bower@1.8.8 \ + npm i -g npm # install official phantomjs binaries RUN \ @@ -54,12 +55,9 @@ RUN apt-get update &&\ RUN \ sed -i 's/"$@"/--no-sandbox "$@"/g' /opt/google/chrome/google-chrome -RUN \ - curl -o- -L https://yarnpkg.com/install.sh | bash - # Install ember-cli RUN \ - yarn global add ember-cli@3.1.2 + yarn global add ember-cli@3.10.1 RUN \ yarn global add firebase-tools @@ -67,5 +65,7 @@ RUN \ RUN \ apt-get update &&\ apt-get install -y \ - awscli \ jq + +RUN \ + pip install awscli diff --git a/zulu_openjdk_11/Dockerfile b/zulu_openjdk_11/Dockerfile new file mode 100644 index 0000000..05505b4 --- /dev/null +++ b/zulu_openjdk_11/Dockerfile @@ -0,0 +1,40 @@ +FROM azul/zulu-openjdk:11 + +ENV SCALA_VERSION 2.13.8 +ENV SBT_VERSION 1.7.1 + +WORKDIR /etc + +#SHELL ["/bin/bash", "-c"] + +RUN \ + apt-get -qq update && \ + apt-get install -yqq \ + wget \ + curl \ + protobuf-compiler \ + python3 \ + python3-pip \ + jq \ + postgresql-client \ + openssl \ + docker.io + +RUN \ + pip install awscli && \ + wget "https://downloads.typesafe.com/scala/${SCALA_VERSION}/scala-${SCALA_VERSION}.tgz" && \ + tar -zxf "scala-${SCALA_VERSION}.tgz" && \ + rm scala-${SCALA_VERSION}.tgz && \ + echo >> /etc/bash.bashrc && \ + echo 'export PATH=/etc/scala-$SCALA_VERSION/bin:$PATH' >> /etc/bash.bashrc + +RUN \ + wget https://github.com/sbt/sbt/releases/download/v$SBT_VERSION/sbt-$SBT_VERSION.tgz && \ + tar -zxf sbt-$SBT_VERSION.tgz && \ + rm sbt-$SBT_VERSION.tgz && \ + echo >> /etc/bash.bashrc && echo 'export PATH=/etc/sbt/bin:$PATH' >> /etc/bash.bashrc + +COPY build.sbt . +#ADD trip.tar.gz /root/trip +#ADD env.sh /root/env.sh +RUN ./sbt/bin/sbt sbtVersion compile && rm build.sbt diff --git a/zulu_openjdk_11/README.md b/zulu_openjdk_11/README.md new file mode 100644 index 0000000..7fecc16 --- /dev/null +++ b/zulu_openjdk_11/README.md @@ -0,0 +1,43 @@ +# Zulu Openjdk 11-latest (Ubuntu) + +zulu openjdk 11-latest (11.0.16+), scala 2.13.8 and sbt 1.7.1 + +## Versions + +``` +bash-5.1# java -version +openjdk version "11.0.16.1" 2022-07-19 LTS +OpenJDK Runtime Environment Zulu11.58+23-CA (build 11.0.16.1+1-LTS) +OpenJDK 64-Bit Server VM Zulu11.58+23-CA (build 11.0.16.1+1-LTS, mixed mode) +``` + +## Build and run the image + +``` +docker build -t "zulu_openjdk:jdk11_sbt171" . +docker run --entrypoint /bin/bash -it zulu_openjdk:jdk11_sbt171 +``` + +## Test the image locally against an actual sbt project +At first you have to export you current sbt project that you want to test within this Docker image: + +``` +git archive "" | gzip > your_project.tar.gz +``` + +Copy the tarball into this folder and use the Docker [ADD command] + +``` +COPY build.sbt . +// Add the project into your container: +ADD your_project.tar.gz /root/your_project +RUN ./sbt/bin/sbt sbtVersion compile && rm build.sbt +``` + +Run the container and then compile the project + +``` +docker run --entrypoint bash -it zulu_openjdk:jdk11_sbt171 +``` + + diff --git a/zulu_openjdk_11/build.sbt b/zulu_openjdk_11/build.sbt new file mode 100644 index 0000000..53034c3 --- /dev/null +++ b/zulu_openjdk_11/build.sbt @@ -0,0 +1 @@ +scalaVersion := "2.13.8"