Como crear un contenedor Docker de Ruby

Si desarrollan en Ruby pueden contenerizar su código bastante fácil, en este ejemplo utilizo Sinatra como framework pero pueden cambiarlo por el framework de su preferencia.  Código en Github al final

Ojo que el puerto 4567 es default de Postgres, si tienes un postgres corriendo localmente vas a necesitar apagarlo o cambiar el puerto de al app

Para crear una image de docker para esta aplicación tiene que crear un `Dockerfile` que arranque con la imagen de `ruby:2.7`, asi ya no tienen que instalar nada ustedes, si necesitan otra version de Ruby, digamos la 2.6, solo cambian esta linea a `ruby:2.6` y listo, PERO RECUERDEN QUE RUBY 2.6 TUVO END OF LINE EN DICIEMBRE DEL 2018 YA NO LO USEN POR AMOR A DIOS.

Primero vamos a copiar el `Gemfile` e instalarlo con `bundle install` dentro del contenedor para tener todas nuestra dependencias listas

Segundo vamos a copiar todo el codigo a un folder `/usr/src/app` 

Finalmente declaramos que puerto expone este contenedor (4567) y el comando para arrancar el servidor, un simple `ruby app.rb`

Para construir esta image de docker, solo tienen que correr el siguiente comando en el mismo folder donde esta su proyecto y su Dockerfile

Ya con esto pueden probar su image de docker localmente, aqui la vamos a correr y re-mapear el puerto de la aplicación `4567` a otro puerto en mi host que esta disponible `4000`. Visiten http://localhost:4000 y vean el resultado

Si están trabajando en una Mac con Apple Silicon, pueden crear imágenes de docker multi-arquitectura para que las computadoras con procesadores x86 también puedan correr la imagen

Ahora cuando quieran deployear en producción puede usar esta imagen, ya no mas copiar archivos por FTP o en ZIP.  Eventualmente queremos deployear esto en #Kubernetes  

Todo el codigo esta en https://github.com/perrohunter/docker-ruby

5 thoughts on “Como crear un contenedor Docker de Ruby

  1. Народ у кого дети Двойки замечания вечные Никакой мотивации учиться Короче, реально удобный и простой — онлайн школа для детей с 1 по 11 класс Уроки по расписанию который сам выбираешь В общем, там программа и условия — школа онлайн обучение 1 класс https://kursi.shkola-onlajn-cvi.ru Не мучайте себя и детей Перешлите другим родителям

  2. Obstawiam u nich od jakichs czterech miesiecy, glownie po pracy. Trafilem na nich przypadkiem, szukalem wtedy miejsca, ktore przyjmuje zlotowki, a nie ciagle przewalutowanie. Nie powiem — z poczatku nie mialem zaufania, bo w sieci pelno podobnych budek.

    Sloty to w sumie moj glowny powod. Wisi tam cos kolo 6-7 tysiecy tytulow, choc umowmy sie polowy nikt nigdy nie odpali. Ja gram glownie na Play’n GO — Gates of Olympus potrafi niezle zaskoczyc, a z klasyki lece w Book of Deada. Jest tez Yggdrasil i NetEnt, wiec nie ma na co narzekac. Od jakiegos czasu coraz czesciej wchodze na stoly na zywo — Evolution i widac roznice, krupierzy po angielsku, ale czasem trafiaja sie polskie stoly, a takie Crazy Time to juz w ogole cyrk, ale wciaga.

    Bonus powitalny daje 100% do pierwszego depozytu plus jakies 30 free spinow, ale wymog obrotu x40 boli i bez cierpliwosci tego nie wyciagniesz. Krazy tez bonus bez depozytu, ale to sie zmienia co chwile, dlatego lepiej podejrzec obecne promki u nich na 888starz bet zanim sie w cos wpakujesz. Minimalny depozyt jest niska — u mnie wyszlo z 20 zl.

    Rejestracja poszla w jakies dwie minuty, gorzej z weryfikacja — zeszlo ze dwa dni, to standard w kazdym miejscu. Wyplacalem trzy razy: Skrill wpadl tego samego dnia, karta mielil sie prawie trzy dni, a BTC najszybciej — doslownie kilkanascie minut. Maja tez Neteller, Mastercard i kilka lokalnych opcji.

    Minus, ktory musze wypomniec: support reaguje w miare szybko, tyle ze polska wersja odpowiedzi to czasem kalka z tlumacza i potrafia odbic temat do maila. Aplikacja smiga bez zarzutu, choc czasem lubi sie zaciac przy live. Licencja sa z Curacao, wiec kazdy niech sobie sam ten temat przemysli, bo to nie jest lokalna licencja. Ogolnie gram dalej, ale trzymam to na zdrowy rozsadek.

  3. Siedze na tej stronie jakies szesciu miesiecy, przewaznie wieczorami po robocie. Wpadlem na nich przypadkiem, szukalem wtedy miejsca, ktore przyjmuje normalne platnosci w zlotowkach. Nie ukrywam — z poczatku nie mialem zaufania, bo w sieci pelno podobnych budek.

    Automaty to jest moj glowny powod. Siedzi tam cos kolo 6-7 tysiecy tytulow, choc badzmy szczerzy polowy nikt nigdy nie odpali. Ja siedze glownie na Play’n GO — Sweet Bonanza umie niezle zaskoczyc, a poza tym lubie Book of Deada. Jest tez NetEnt, Betsoft, Microgaming, wiec wybor jest. Od jakiegos czasu coraz czesciej wchodze na stoly na zywo — Evolution ogarnia to robi to porzadnie, prowadzacy sa ogarnieci, a Crazy Time to juz w ogole cyrk, ale wciaga.

    Pakiet na start to 100% od wplaty oraz jakies 30 darmowych spinow, ale wymog obrotu x40 boli i trzeba sie w to wkrecic na spokojnie. Krazy tez jakis kod bez depozytu, ale to leci rotacyjnie, dlatego najlepiej sprawdzic aktualne warunki u nich na 888starz link zanim klikniesz cokolwiek. Minimalna wplata nie zabija — dalo sie wejsc za kilkanascie zlotych.

    Rejestracja poszla w jakies dwie minuty, schody zaczely sie przy weryfikacja — czekalem dwa dni, ale przy pierwszej wyplacie i tak trzeba to zrobic wszedzie. Kase wyciagalem kilka razy: e-portfel byl w kilka godzin, karta mielil sie prawie trzy dni, a BTC najszybciej — praktycznie od reki. Maja tez Neteller, Mastercard i kilka lokalnych opcji.

    Minus, ktory musze wypomniec: obsluga na czacie odpisuje szybko, ale po polsku bywa roznie i trzeba czasem powtorzyc pytanie. Apka na Androida smiga bez zarzutu, choc czasem lubi sie zaciac przy live. Licencja sa z Curacao, wiec bez cudow — to nie jest polski operator z ministerialnym zezwoleniem. Ogolnie zostaje, choc trzymam to na zdrowy rozsadek.

Leave a Reply

Your email address will not be published. Required fields are marked *