Docker
Docker for Rails Developer
Menjalankan script ruby dengan docker
docker run ruby:2.6 ruby -e "puts 'hello'"
Melihat daftar container yang berjalan
docker ps# memperlihatkan semua termasuk yang sudah diberhentikandocker ps -a
Membuat rails app dengan docker
mkdir <project_name> && cd <project_name>docker run -i -t --rm -v (PWD):/usr/src/app ruby:2.6 bash# setelah didalam containergem install railscd /usr/src/apprails new . --skip-test --skip-bundle
Menjalankan rails app dengan Dockerfile
FROM ruby:2.6RUN apt-get update -yqqRUN apt-get install -yqq --no-install-recommends nodejsCOPY . /usr/src/app/WORKDIR /usr/src/appRUN bundle install
Kemudian build custom image dari dockerfile diatas dengan perintah berikut.
docker build .
Melihat daftar docker images yang tersedia
docker images
Menjalankan rails app
docker run -p 3000:3000 434ec07e1f20 bin/rails s -b 0.0.0.0
Memberikan tag pada docker image agar lebih mudah diingat
docker tag 434ec07e1f20 railsapp
Memberikan docker tag berupa version number
docker tag railsapp railsapp:1.0
Build custom image menggunakan docker tag
docker build -t railsapp -t railsapp:1.0 .
Menambahkan default command ke Dockerfile untuk menghindari start rails server secara manual setiap menjalankan container
FROM ruby:2.6RUN apt-get update -yqqRUN apt-get install -yqq --no-install-recommends nodejsCOPY . /usr/src/app/WORKDIR /usr/src/appRUN bundle installCMD ["bin/rails", "s", "-b", "0.0.0.0"]
Docker for Mac
Docker for Mac Desktop Native memiliki masalah pada storage yang agak lambat
Solusi: Gunakan docker toolbox yang menggunakan virtualbox, bukan hyperkit