Skip to main content

Dockerfile for Java Openjdk / Node Js / Python and many more.

FROM openjdk:8

# Add Maintainer Info
LABEL maintainer="jinojoseph@ndimensions.com"

# Add a volume pointing to /tmp
VOLUME /tmp

# The application's jar file
ARG JAR_FILE=/home/ubuntu/YourJarFileNOV7.jar


# Add the application's jar to the container
COPY ${JAR_FILE} app.jar

# Run the jar file
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

COPY --from=python:3.6 / /

ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn

RUN set -e; \
     apt-get update; \
     apt-get install -y --no-install-recommends \
        software-properties-common \
    ; \
     apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9; \
     apt-add-repository 'deb http://repos.azulsystems.com/debian stable main'; \
     apt-get update; \
     apt-get install -y --no-install-recommends \
        zulu-8 \
    ; \
     apt-get clean; \
    rm -rf /var/tmp/* /tmp/* /var/lib/apt/lists/*

RUN set -e; \
    pip install JPype1
 
RUN  apt-get install -y curl \
  &&  curl -sL https://deb.nodesource.com/setup_8.x | bash - \
  &&  apt-get install -y nodejs \
  &&  apt-get install -y build-essential \
  &&  apt-get install -y npm \
  &&  apt-get install -y cmake

RUN  add-apt-repository -r ppa:ubuntugis/ppa \
  &&  apt update  \
  &&  apt install -y gdal-bin \
  &&  apt install -y python-gdal


================================================================

Build Errors & Fixes
-------------------------

Error :
-------
Error processing tar file(exit status 1): write /Opencv/node_modules/opencv-build/opencv/build/modules/face/precomp.hpp.gch/opencv_face_Release.gch: no space left on device

Fix:
------
sudo docker rm $(sudo docker ps -q -f 'status=exited')
sudo docker rmi $(sudo docker images -q -f "dangling=true")


sudo docker system prune --all   >> Only do if you know what u r doing.
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all dangling build cache

https://success.docker.com/article/no-space-left-on-device-error
cat /dev/null > /var/lib/docker/containers/container_id/container_log_name
```

This command results in a zero size log file.

Error :
-------
Docker build fails with "Build failed: No such image" error

Fix:
-----
sudo docker build --no-cache .





Comments

Popular posts from this blog

Password reset too simplistic/systematic issue

Some time when we try to reset the password of our user in linux it will show as simple and systematic as below: BAD PASSWORD: it is too simplistic/systematic no matter how hard password you give it will show the same. Solution: ######### Check if your password is Ok with the below command, jino@ndz~$ echo 'D7y8HK#56r89lj&8*&^%&^%#56rlKJ!789l' | cracklib-check D7y8HK#56r89lj&8*&^%&^%#56rlKJ!789l: it is too simplistic/systematic Now Create a password with the below command : jino@ndz~$ echo $(tr -dc '[:graph:]' 7\xi%!W[y*S}g-H7W~gbEB4cv,9:E:K; You can see that this password will be ok with the cracklib-check. jino@ndz~$ echo '7\xi%!W[y*S}g-H7W~gbEB4cv,9:E:K;' | cracklib-check                 7\xi%!W[y*S}g-H7W~gbEB4cv,9:E:K;: OK Thats all, Thanks.

Nginx Ingress controller setup in K8S MultiNode Cluster with HA-Proxy as External LB

https://github.com/nginxinc/kubernetes-ingress/blob/master/docs/installation.md Pre-requisites: ############### >> K8s cluster setup with 1 Master and 2 Worker nodes. >> Deployed an application with Deployment name "client-sb" >> Also you need to create an HA-proxy server by spinning an Ec2 instance. After login the Ha-proxy server. # yum install haproxy # vi /etc/haproxy/haproxy.cfg delete everything after the global and defaults starting from "Main front-end which proxys to the backend" paste the below code in the end of the file: --------------------- frontend http_front   bind *:80   stats uri /haproxy?stats   default_backend http_back backend http_back   balance roundrobin   server kube 10.0.1.14:80   server kube 10.0.1.12:80 --------------------- # systemctl status haproxy # systemctl enable haproxy # systemctl start haproxy 1. Create a Namespace, a SA, the Default Secret, the Customization Confi...

Running K8s cluster service kubelet with Swap Memory Enabled

For enabling swap memory check the below link : https://jinojoseph.blogspot.com/2019/10/enable-swap-memory-using-swapfile-in.html # sudo vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf Add the KUBELET_EXTRA_ARGS line as below: ---------------------------------------- Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false" ExecStart= ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS Now kubelet.service changed on disk. Run 'systemctl daemon-reload' to reload units # sudo systemctl daemon-reload # sudo systemctl restart kubelet # sudo systemctl status kubelet That is all cheers :p