diff --git a/docker-modules/docker-compose/README.md b/docker-modules/docker-compose/README.md index 243e81fc80..fbb58107d3 100644 --- a/docker-modules/docker-compose/README.md +++ b/docker-modules/docker-compose/README.md @@ -1,4 +1,5 @@ ## Relevant Articles: - [Introduction to Docker Compose](https://www.baeldung.com/ops/docker-compose) +- [How to Get Docker-Compose to Always Use the Latest Image](https://www.baeldung.com/ops/docker-compose-latest-image) diff --git a/docker-modules/docker-compose/docker-compose.yml b/docker-modules/docker-compose/intro/docker-compose.yml similarity index 100% rename from docker-modules/docker-compose/docker-compose.yml rename to docker-modules/docker-compose/intro/docker-compose.yml diff --git a/docker-modules/docker-sample-app/Dockerfile b/docker-modules/docker-compose/latest-image/Dockerfile similarity index 100% rename from docker-modules/docker-sample-app/Dockerfile rename to docker-modules/docker-compose/latest-image/Dockerfile diff --git a/docker-modules/docker-sample-app/docker-compose-build-image.yaml b/docker-modules/docker-compose/latest-image/docker-compose-build-image.yaml similarity index 100% rename from docker-modules/docker-sample-app/docker-compose-build-image.yaml rename to docker-modules/docker-compose/latest-image/docker-compose-build-image.yaml diff --git a/docker-modules/docker-sample-app/docker-compose-with-image.yaml b/docker-modules/docker-compose/latest-image/docker-compose-with-image.yaml similarity index 100% rename from docker-modules/docker-sample-app/docker-compose-with-image.yaml rename to docker-modules/docker-compose/latest-image/docker-compose-with-image.yaml diff --git a/docker-modules/docker-sample-app/pom.xml b/docker-modules/docker-compose/pom.xml similarity index 94% rename from docker-modules/docker-sample-app/pom.xml rename to docker-modules/docker-compose/pom.xml index 56b32c9c2c..ccc6f61bd3 100644 --- a/docker-modules/docker-sample-app/pom.xml +++ b/docker-modules/docker-compose/pom.xml @@ -3,8 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - docker-sample-app - docker-sample-app + docker-compose Demo project for Spring Boot and Docker diff --git a/docker-modules/docker-sample-app/src/main/java/com/baeldung/docker/app/DockAppApplication.java b/docker-modules/docker-compose/src/main/java/com/baeldung/docker/app/DockAppApplication.java similarity index 100% rename from docker-modules/docker-sample-app/src/main/java/com/baeldung/docker/app/DockAppApplication.java rename to docker-modules/docker-compose/src/main/java/com/baeldung/docker/app/DockAppApplication.java diff --git a/docker-modules/docker-sample-app/src/main/java/com/baeldung/docker/app/endpoint/MyController.java b/docker-modules/docker-compose/src/main/java/com/baeldung/docker/app/endpoint/MyController.java similarity index 100% rename from docker-modules/docker-sample-app/src/main/java/com/baeldung/docker/app/endpoint/MyController.java rename to docker-modules/docker-compose/src/main/java/com/baeldung/docker/app/endpoint/MyController.java diff --git a/docker-modules/docker-push-to-private-repo/src/main/resources/application.properties b/docker-modules/docker-compose/src/main/resources/application.properties similarity index 100% rename from docker-modules/docker-push-to-private-repo/src/main/resources/application.properties rename to docker-modules/docker-compose/src/main/resources/application.properties diff --git a/docker-modules/docker-sample-app/src/test/java/com/baeldung/docker/app/DockAppApplicationUnitTest.java b/docker-modules/docker-compose/src/test/java/com/baeldung/docker/app/DockAppApplicationUnitTest.java similarity index 100% rename from docker-modules/docker-sample-app/src/test/java/com/baeldung/docker/app/DockAppApplicationUnitTest.java rename to docker-modules/docker-compose/src/test/java/com/baeldung/docker/app/DockAppApplicationUnitTest.java diff --git a/docker-modules/docker-containers/README.md b/docker-modules/docker-containers/README.md new file mode 100644 index 0000000000..a96ddccabb --- /dev/null +++ b/docker-modules/docker-containers/README.md @@ -0,0 +1,2 @@ +### Relevant Articles: + diff --git a/docker-modules/heap-sizing/Dockerfile b/docker-modules/docker-containers/heapsizing/Dockerfile similarity index 100% rename from docker-modules/heap-sizing/Dockerfile rename to docker-modules/docker-containers/heapsizing/Dockerfile diff --git a/docker-modules/heap-sizing/pom.xml b/docker-modules/docker-containers/pom.xml similarity index 92% rename from docker-modules/heap-sizing/pom.xml rename to docker-modules/docker-containers/pom.xml index 32c200c1c0..f50945b59a 100644 --- a/docker-modules/heap-sizing/pom.xml +++ b/docker-modules/docker-containers/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.baeldung.docker - heap-sizing + docker-containers 0.0.1-SNAPSHOT heap-sizing Demo project for Spring Boot @@ -40,7 +40,7 @@ spring-boot-maven-plugin - heapsizing-demo + docker-demo @@ -50,7 +50,7 @@ 2.7.1 - heapsizing-demo-jib + docker-demo-jib diff --git a/docker-modules/heap-sizing/src/main/java/com/baeldung/docker/heapsizing/HeapSizingApplication.java b/docker-modules/docker-containers/src/main/java/com/baeldung/docker/heapsizing/HeapSizingApplication.java similarity index 100% rename from docker-modules/heap-sizing/src/main/java/com/baeldung/docker/heapsizing/HeapSizingApplication.java rename to docker-modules/docker-containers/src/main/java/com/baeldung/docker/heapsizing/HeapSizingApplication.java diff --git a/docker-modules/heap-sizing/src/main/java/com/baeldung/docker/heapsizing/PrintXmxXms.java b/docker-modules/docker-containers/src/main/java/com/baeldung/docker/heapsizing/PrintXmxXms.java similarity index 100% rename from docker-modules/heap-sizing/src/main/java/com/baeldung/docker/heapsizing/PrintXmxXms.java rename to docker-modules/docker-containers/src/main/java/com/baeldung/docker/heapsizing/PrintXmxXms.java diff --git a/docker-modules/docker-push-to-private-repo/.gitignore b/docker-modules/docker-images/.gitignore similarity index 100% rename from docker-modules/docker-push-to-private-repo/.gitignore rename to docker-modules/docker-images/.gitignore diff --git a/docker-modules/docker-push-to-private-repo/README.md b/docker-modules/docker-images/README.md similarity index 51% rename from docker-modules/docker-push-to-private-repo/README.md rename to docker-modules/docker-images/README.md index 61fe00e016..c86134c7a0 100644 --- a/docker-modules/docker-push-to-private-repo/README.md +++ b/docker-modules/docker-images/README.md @@ -1,3 +1,4 @@ ### Relevant Articles: - [Pushing a Docker Image to a Private Repository](https://www.baeldung.com/ops/docker-push-image-to-private-repository) +- [How to Include Files Outside of Docker’s Build Context](https://www.baeldung.com/ops/docker-include-files-outside-build-context) diff --git a/docker-modules/docker-include-outside-build-context/projects/config/Dockerfile b/docker-modules/docker-images/files-outside-context/projects/config/Dockerfile similarity index 100% rename from docker-modules/docker-include-outside-build-context/projects/config/Dockerfile rename to docker-modules/docker-images/files-outside-context/projects/config/Dockerfile diff --git a/docker-modules/docker-include-outside-build-context/projects/config/nginx.conf b/docker-modules/docker-images/files-outside-context/projects/config/nginx.conf similarity index 100% rename from docker-modules/docker-include-outside-build-context/projects/config/nginx.conf rename to docker-modules/docker-images/files-outside-context/projects/config/nginx.conf diff --git a/docker-modules/docker-include-outside-build-context/projects/sample-site/docker/Dockerfile b/docker-modules/docker-images/files-outside-context/projects/sample-site/docker/Dockerfile similarity index 100% rename from docker-modules/docker-include-outside-build-context/projects/sample-site/docker/Dockerfile rename to docker-modules/docker-images/files-outside-context/projects/sample-site/docker/Dockerfile diff --git a/docker-modules/docker-include-outside-build-context/projects/sample-site/docker/Dockerfile-from-base b/docker-modules/docker-images/files-outside-context/projects/sample-site/docker/Dockerfile-from-base similarity index 100% rename from docker-modules/docker-include-outside-build-context/projects/sample-site/docker/Dockerfile-from-base rename to docker-modules/docker-images/files-outside-context/projects/sample-site/docker/Dockerfile-from-base diff --git a/docker-modules/docker-include-outside-build-context/projects/sample-site/docker/Dockerfile-script b/docker-modules/docker-images/files-outside-context/projects/sample-site/docker/Dockerfile-script similarity index 100% rename from docker-modules/docker-include-outside-build-context/projects/sample-site/docker/Dockerfile-script rename to docker-modules/docker-images/files-outside-context/projects/sample-site/docker/Dockerfile-script diff --git a/docker-modules/docker-include-outside-build-context/projects/sample-site/docker/build-docker.sh b/docker-modules/docker-images/files-outside-context/projects/sample-site/docker/build-docker.sh old mode 100755 new mode 100644 similarity index 100% rename from docker-modules/docker-include-outside-build-context/projects/sample-site/docker/build-docker.sh rename to docker-modules/docker-images/files-outside-context/projects/sample-site/docker/build-docker.sh diff --git a/docker-modules/docker-include-outside-build-context/projects/sample-site/html/index.html b/docker-modules/docker-images/files-outside-context/projects/sample-site/html/index.html similarity index 100% rename from docker-modules/docker-include-outside-build-context/projects/sample-site/html/index.html rename to docker-modules/docker-images/files-outside-context/projects/sample-site/html/index.html diff --git a/docker-modules/docker-push-to-private-repo/pom.xml b/docker-modules/docker-images/pom.xml similarity index 86% rename from docker-modules/docker-push-to-private-repo/pom.xml rename to docker-modules/docker-images/pom.xml index a7b3a4db52..fadf84e9dd 100644 --- a/docker-modules/docker-push-to-private-repo/pom.xml +++ b/docker-modules/docker-images/pom.xml @@ -3,9 +3,8 @@ xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - docker-push-to-private-repo - docker-push-to-private-repo - Example application to showcase how to push a docker image to a private repository + docker-images + Example application to showcase Docker images features com.baeldung diff --git a/docker-modules/docker-push-to-private-repo/Dockerfile b/docker-modules/docker-images/private-repo/Dockerfile similarity index 100% rename from docker-modules/docker-push-to-private-repo/Dockerfile rename to docker-modules/docker-images/private-repo/Dockerfile diff --git a/docker-modules/docker-push-to-private-repo/src/main/java/com/baeldung/docker/push/PushToPrivateRepoApplication.java b/docker-modules/docker-images/src/main/java/com/baeldung/docker/MainApplication.java similarity index 56% rename from docker-modules/docker-push-to-private-repo/src/main/java/com/baeldung/docker/push/PushToPrivateRepoApplication.java rename to docker-modules/docker-images/src/main/java/com/baeldung/docker/MainApplication.java index 7f516b3158..b5e46f3eac 100644 --- a/docker-modules/docker-push-to-private-repo/src/main/java/com/baeldung/docker/push/PushToPrivateRepoApplication.java +++ b/docker-modules/docker-images/src/main/java/com/baeldung/docker/MainApplication.java @@ -1,13 +1,13 @@ -package com.baeldung.docker.push; +package com.baeldung.docker; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -public class PushToPrivateRepoApplication { +public class MainApplication { public static void main(String[] args) { - SpringApplication.run(PushToPrivateRepoApplication.class, args); + SpringApplication.run(MainApplication .class, args); } } diff --git a/docker-modules/docker-push-to-private-repo/src/main/java/com/baeldung/docker/push/HelloWorldController.java b/docker-modules/docker-images/src/main/java/com/baeldung/docker/controllers/HelloWorldController.java similarity index 86% rename from docker-modules/docker-push-to-private-repo/src/main/java/com/baeldung/docker/push/HelloWorldController.java rename to docker-modules/docker-images/src/main/java/com/baeldung/docker/controllers/HelloWorldController.java index 58486c3086..f7ade95075 100644 --- a/docker-modules/docker-push-to-private-repo/src/main/java/com/baeldung/docker/push/HelloWorldController.java +++ b/docker-modules/docker-images/src/main/java/com/baeldung/docker/controllers/HelloWorldController.java @@ -1,4 +1,4 @@ -package com.baeldung.docker.push; +package com.baeldung.docker.controllers; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/docker-modules/docker-sample-app/src/main/resources/application.properties b/docker-modules/docker-images/src/main/resources/application.properties similarity index 100% rename from docker-modules/docker-sample-app/src/main/resources/application.properties rename to docker-modules/docker-images/src/main/resources/application.properties diff --git a/docker-modules/docker-include-outside-build-context/README.md b/docker-modules/docker-include-outside-build-context/README.md deleted file mode 100644 index 55cc564163..0000000000 --- a/docker-modules/docker-include-outside-build-context/README.md +++ /dev/null @@ -1,3 +0,0 @@ -## Relevant Articles: - -- [How to Include Files Outside of Docker’s Build Context](https://www.baeldung.com/ops/docker-include-files-outside-build-context) \ No newline at end of file diff --git a/docker-modules/docker-sample-app/README.md b/docker-modules/docker-sample-app/README.md deleted file mode 100644 index d35abbc7e5..0000000000 --- a/docker-modules/docker-sample-app/README.md +++ /dev/null @@ -1,3 +0,0 @@ -## Relevant Articles: - -- [How to Get Docker-Compose to Always Use the Latest Image](https://www.baeldung.com/ops/docker-compose-latest-image) \ No newline at end of file diff --git a/docker-modules/docker-spring-boot-postgres/.mvn/wrapper/MavenWrapperDownloader.java b/docker-modules/docker-spring-boot-postgres/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index e76d1f3241..0000000000 --- a/docker-modules/docker-spring-boot-postgres/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 2007-present the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import java.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to - * use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = - ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if(mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if(mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if(!outputFile.getParentFile().exists()) { - if(!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/docker-modules/docker-spring-boot-postgres/.mvn/wrapper/maven-wrapper.jar b/docker-modules/docker-spring-boot-postgres/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 2cc7d4a55c..0000000000 Binary files a/docker-modules/docker-spring-boot-postgres/.mvn/wrapper/maven-wrapper.jar and /dev/null differ diff --git a/docker-modules/docker-spring-boot-postgres/.mvn/wrapper/maven-wrapper.properties b/docker-modules/docker-spring-boot-postgres/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 642d572ce9..0000000000 --- a/docker-modules/docker-spring-boot-postgres/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,2 +0,0 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/docker-modules/docker-spring-boot-postgres/mvnw b/docker-modules/docker-spring-boot-postgres/mvnw deleted file mode 100755 index a16b5431b4..0000000000 --- a/docker-modules/docker-spring-boot-postgres/mvnw +++ /dev/null @@ -1,310 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi -else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` - fi - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f - fi - - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR -fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/docker-modules/docker-spring-boot-postgres/mvnw.cmd b/docker-modules/docker-spring-boot-postgres/mvnw.cmd deleted file mode 100644 index c8d43372c9..0000000000 --- a/docker-modules/docker-spring-boot-postgres/mvnw.cmd +++ /dev/null @@ -1,182 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM https://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% diff --git a/docker-modules/docker-spring-boot/README.md b/docker-modules/docker-spring-boot/README.md index 7b16790783..6bcff1380e 100644 --- a/docker-modules/docker-spring-boot/README.md +++ b/docker-modules/docker-spring-boot/README.md @@ -3,3 +3,4 @@ - [Creating Docker Images with Spring Boot](https://www.baeldung.com/spring-boot-docker-images) - [Starting Spring Boot Application in Docker With Profile](https://www.baeldung.com/spring-boot-docker-start-with-profile) - [Reusing Docker Layers with Spring Boot](https://www.baeldung.com/docker-layers-spring-boot) +- [How To Configure Java Heap Size Inside a Docker Container](https://www.baeldung.com/ops/docker-jvm-heap-size) diff --git a/docker-modules/dockerfile-with-git/README.md b/docker-modules/dockerfile/README.md similarity index 100% rename from docker-modules/dockerfile-with-git/README.md rename to docker-modules/dockerfile/README.md diff --git a/docker-modules/dockerfile-with-git/.gitmodules b/docker-modules/dockerfile/git-strategies/.gitmodules similarity index 100% rename from docker-modules/dockerfile-with-git/.gitmodules rename to docker-modules/dockerfile/git-strategies/.gitmodules diff --git a/docker-modules/dockerfile-with-git/Dockerfile b/docker-modules/dockerfile/git-strategies/Dockerfile similarity index 100% rename from docker-modules/dockerfile-with-git/Dockerfile rename to docker-modules/dockerfile/git-strategies/Dockerfile diff --git a/docker-modules/heap-sizing/README.md b/docker-modules/heap-sizing/README.md deleted file mode 100644 index aa5167cc16..0000000000 --- a/docker-modules/heap-sizing/README.md +++ /dev/null @@ -1,3 +0,0 @@ -### Relevant Articles: - -- [How To Configure Java Heap Size Inside a Docker Container](https://www.baeldung.com/ops/docker-jvm-heap-size) diff --git a/docker-modules/pom.xml b/docker-modules/pom.xml index f17832c4eb..f2b8f059a1 100644 --- a/docker-modules/pom.xml +++ b/docker-modules/pom.xml @@ -16,11 +16,13 @@ - docker-spring-boot - docker-sample-app docker-caching/single-module-caching docker-caching/multi-module-caching - docker-push-to-private-repo + docker-compose + docker-containers + docker-images + docker-spring-boot + docker-spring-boot-postgres