Saturday, October 22, 2016

Jenkins on Docker - Admin Password

Jenkins on Docker - How to get the Admin Password?

try this from the comments on --> full credit to sidmalani

docker exec -it jenkins_test cat /var/jenkins_home/secrets/initialAdminPassword

Sunday, October 16, 2016

Eclipse Che and localhost

Eclipse Che and localhost

when running eclipse che locally, you may have troubles starting up the various agents, etc. unless you export the correct IP address.

so, to make sure it all works smoothly;
- export CHE_HOST_IP=[your ip]
- CHE_HOST_IP=[your ip] che start

Tuesday, August 23, 2016

nginx ubuntu and and

nginx, Ubuntu 14.04, and

recently i needed to setup a secure domain on an EC2 instance (need to use the Google Maps Javascript API and it requires HTTPS domains).   the application architecture was;
  • angularjs (front-end)
  • NodeJS (front-end server) http://:3000
  • spring-boot (data server) http://:8080
to get this working on EC2, nginx was added to help act as a HTTPS terminator and router for the NodeJS instance.  

domain routing -->

this is not a permanent solution, just a demo, so I used and A record at to point to my Elastic IP address.  the trick here is to add 2 A records; [blank] --> [elastic IP] and * --> [elastic IP].  this needs to be done to support

the steps to follow (on ubuntu) are
  1. sudo git clone /opt/letsencrypt
  2. sudo apt-get install nginx
  3. sudo vi /etc/nginx/sites-available/default
  4. add     location ~/.well-known { allow all; }
  5. sudo ./letsencrypt-auto certonly -a webroot --webroot-path=/usr/share/nginx/html -d -d
  6. (go through the on screen prompts)
  7. sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
  8. add ssl to the nginx default
  9. add redirect on port 80 to 443 (HTTP 301)
below is an example of the nginx default file

server {
    listen 80;
    return 301 https://$host$request_uri;

server {
    listen 443 ssl;


    ssl_certificate /etc/letsencrypt/live/;
    ssl_certificate_key /etc/letsencrypt/live/;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_stapling on;
    ssl_stapling_verify on;
    add_header Strict-Transport-Security max-age=15768000;

    location ~ /.well-known {
        allow all;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;

Sunday, July 17, 2016

nodejs expressjs http-proxy and the hanging POST

here's one i came across recently with using http-proxy and expressjs.  using the body-parser seems to mess with the way the object is sent to the backend (in this case, Spring Data REST).  to resolve this, on the proxy part, i had to remove all the body-parser listeners (thanks to this issue solution

a very quick and simple solution, although maybe not optimal, it works.

Monday, January 25, 2016

Eclipse Che and Spring Boot

Eclipse Che and Spring Boot

so, in playing around with Spring Boot on Eclipse Che,  here's a couple points;
  • when using the spring-boot-maven-plugin, you can run mvn spring-boot:run from the browser IDE
  • to view the application, use the link given from the docker app, but remove the app-name (so http://[your-ip]:[port-mapped-to-spring-boot]/[maven-name], should actually be http://[your-ip]:[port-mapped-to-spring-boot]/ )

Eclipse Che - Some Startup Notes

Eclipse Che - Some Startup Notes

so Eclipse Che is a really cool idea to create "cloud-based" workspaces and a browser based IDE.  It uses docker as a corner stone to the development lifecycle for workspaces and, in initial playing around, is pretty cool.

Some quick notes
  • don't try and run it under root - create a new user, make sure they're a part of the docker group, and you're good
  • doesn't "look" nice in safari (there's a couple challenges with fonts and css sheets)
  • be patient with the workspace kick off, it pulls a docker image and that can take time - good candidate for "cacheing" on you server
  • when creating a Java class, create it as a full package resolution (so not "MyClass" but "io.example.MyClass" otherwise it will give you errors
Some links that helped

Sunday, January 24, 2016

Apache Geode (GemFire) in a Docker container

Apache Geode (GemFire) in a Docker container

If you want to play around with geode in docker, try this...

docker run -it apache geode/geode:1.0.0-incubating.M1.RC1 gosh

Sunday, January 17, 2016

weave + marathon - network

weave + marathon - network

quick note, if you're using weave on marathon with docker, make sure NETWORK is set to BRIDGE ("network":"bridge")

Friday, January 15, 2016

mesos + marathon + docker - installing via the packages

mesos + marathon + docker - installing via the packages

a little trick to installing via the packages; if you follow, make sure you either proceed to the next steps and docker stuff, or add the following to /usr/lib/systemd/system/mesos-slave.service (centos 7)


under the [Service] bracket.

without these steps, mesos won't know how to call docker to start the marathon submitted docker jobs.

(a key indicator of this problem is...)

failed to start: None of the enabled containerizers (mesos) could create a container for the provided TaskInfo/ExecutorInfo message