タグ

Rubyとdockerに関するiga_kのブックマーク (32)

  • 2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ

    最近はお客さんとの勉強会でDockerのドキュメントをつまみいして読むというのをやっていますが、改めて最新版を読んでみて、いろいろ思考が整理されました。2020年の20.10のマルチステージビルドの導入で大きく変わったのですが、それ以前の資料もweb上には多数あり「マルチステージビルドがよくわからない」という人も見かけるので過去の情報のアンラーニングに使っていただけるように改めて整理していきます。 仕事Pythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で触れた内容もありますが改めてそちらに含む内容も含めて書き直しています。 エントリーの執筆には@tk0miya氏から多大なフィードバックをいただきました。ありがとうございます。 基的なメンタルモデル現代的な使い方を見ていくために「Dockerを使ってビルドする」というのはどのようなものか考えを整

    2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ
    iga_k
    iga_k 2024/09/19
    “Alpineを選んで25MB変わったところでストレージのコストや転送時間は対して変わりませんが、CPU性能が落ちてその分余計に処理時間が伸びて増えるコストの方が膨大なので、Debian系のベースイメージを使うべき”
  • クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(更新翻訳)|TechRacho by BPS株式会社

    さて、どこからお話を始めましょうか。ここに到達するまでに長い長い旅路をたどりました。かつて私は開発にVagrantを使っていましたが、当時のVMは私の4GB RAMのノートPCでは少々重すぎました。そして2017年にコンテナへの乗り換えを決意したときに、やっとDockerを使い始めました。 しかしDockerで問題がたちまち解決したという気持ちではありません。自分自身やチーム、そしてすべての人々にとって完璧な設定を追求し続けてきましたが、「これでよし」と言える究極の設定はありません。標準的なアプローチを見出すまでにかなりの時間を要しました(2019年に記事を最初に公開した時点でも相当の時間を費やしていました)。 記事を最初に公開して私の秘密を隅々までオープンにして以来、多くのRailsチームや開発者が私の手法を採用し、さらに改良や貢献にもご協力をいただきました。 前置きはこのぐらいにし

    クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(更新翻訳)|TechRacho by BPS株式会社
  • Docked Rails CLIでRailsの開発環境を素早く構築する

    この記事は GMOアドマーケティング Advent Calendar 2022 3日目の記事です。はじめにこんにちは。GMOアドマーケティングの石丸(@thomi40)です。前回の記事では Rails 7 から実装された query_log_tags について紹介しました。今回の記事では同じく Rails 7 から追加された ComparisonValidator について紹介します。※記事内の画像は筆者が作成したアプリケーションをキャプチャーしたものです。ComparisonValidatorとはComparisonValidator は任意のオブジェクトの比較を行うバリデーターです。数値の比較には NumericalityV... 今回もRails関連のトピックとして、2022年12月に公開された Docked Rails CLI について紹介します。 Docked Rails CLI

    Docked Rails CLIでRailsの開発環境を素早く構築する
    iga_k
    iga_k 2023/04/21
    Docked Rails便利そう!
  • VSCodeでDockerを使ったRailsを開発しよう~Ruby3.1以降 Debug編~

    概要開発者のマシンで開発環境を構築する際にDocker及びDocker composeを使って開発することが一般的になりました。いままではターミナルからdocker composeコマンドを実行してテストや動作確認をしていましたが、VS CodeのDev Containers拡張を使いよりVS Codeで便利に開発する方法を提案します。 今回はRuby3.1のdebug.gemを使ったRailsプロジェクトで、VS Codeのデバッグ機能をDev Containersと一緒に使う方法を紹介します。 VSCodeDockerを使ってRailsを開発しよう~Dev Containers編~開発者のマシンで開発環境を構築する際にDocker及びDocker composeを使って開発することが一般的になりました。ターミナルからdocker composeコマンドを実行してテストや動作確認するの

    VSCodeでDockerを使ったRailsを開発しよう~Ruby3.1以降 Debug編~
  • Rails on Docker

    Rails on Docker Author Name Brad Gessler @bradgessler @bradgessler Image by Annie Ruygt Rails 7.1 is getting an official Dockerfile, which should make it easier to deploy Rails applications to production environments that support Docker. Think of it as a pre-configured Linux box that will work for most Rails applications. That means you’ll start seeing a Dockerfile in the project directory of a lo

    Rails on Docker
    iga_k
    iga_k 2023/02/17
    "Rails 7.1 is getting an official Dockerfile, which should make it easier to deploy Rails applications to production environments that support Docker. Think of it as a pre-configured Linux box that will work for most Rails applications."
  • Rubyのインストール方法いろいろ - Qiita

    Rubyのインストール方法は色々あるので、思いつくものを列挙していきたいと思います。 インストール方法いろいろ どの環境でもソースからのインストールがありますが、それは省略します。 Windows Windows なら RubyInstaller とか各種パッケージマネージャを使うのでしょうか。Windows 環境を使っていないので詳しいことはわかりません。RailsInstaller というのはちょっとみてみた感じだと最近は更新されていないようです。 macOS OS にまだ /usr/bin/ruby が入っているかもしれませんが、将来(OSの他のプログラムからの依存がなくなったら?)削除される予定なので、普通は依存しない方が良いでしょう。 macOSLinux 共通 rbenv と ruby-build : 普段はこれを使っています。Rubyコミッターでも使っている人が多いし、

    Rubyのインストール方法いろいろ - Qiita
  • Dev Container + Rails + vscode-rdbg (debug.gem)

    はじめに Ruby 3.1で標準ライブラリになった debug.gemVSCodeを組み合わせると、VSCodeのデバッグ機能をRubyでの開発に使えるようになります。 この記事では、最近私がよく活用するDevContainerを使ったRails開発において debug.gem を使うにはどのようにすればいよのか? 試したことをご紹介します。 debug.gem debug.gem については開発された笹田さんの記事をご覧下さい。 vscode-rdbg vscode-rdbgはVSCodeのデバッグ機能からdebug.gemを利用するためのエクステンションです。 ソースコードの左をクリックしてブレークポイントを設定でき、pryのようにコード中に仕込む必要がないのでとても便利です。 Dev Container Dev ContainerはVSCodeの機能の1つで、任意のDockerコン

    Dev Container + Rails + vscode-rdbg (debug.gem)
  • Docker Compose な開発環境にちょい足し3分で作るVSCode devcontainer

    こんにちは、devcontainer職人です🧑‍🍳 今回紹介するのはDocker Composeを既に利用している開発環境にかんたんにdevcontainerを構築する方法を紹介します。 VSCodeのdevcontainerはとても良くできた開発環境構築方法なのですが、ちょっと難しそうと思われていたり、VSCode以外のエディタを使う人の開発体験が悪くなるのでは、などの懸念がありまだあまり使われていないような印象があります。今回はそんなdevcontainerを3分で作れるtipsを紹介します。 準備するもの Docker Composeで構築した開発環境 VS Code Docker Desktop for Windows/Mac Remote - Containers extension Docker Composeで構築した開発環境のサンプル 今回用意するのはサンプルとしてRu

    Docker Compose な開発環境にちょい足し3分で作るVSCode devcontainer
    iga_k
    iga_k 2022/10/18
    docker-compose環境をVSCodeから開く設定について
  • SolargraphをDocker環境でこっそり使う

    YARDのアノテーションを元にそこそこ便利な説明や補完機能を提供してくれるSolargraphを、Gemfileに含めずこっそり使いてえ……しかもDocker環境で……という人向けの情報。 一番の問題として、gem install solargraph でsolargraph gemを入れたい訳だけど、揮発しないように工夫が必要になる。 一般的なRuby向けのDockerfileの構成だと、bundle install で入れるGemだけをdata volumeで永続化していることが多い。よく見るパターンは、vendor/bundle または /usr/local/bundle にdata volumeをmountするようdocker-compose.ymlで設定し、加えてこのパスを BUNDLE_PATH に設定するパターン。これに加えて例えば GEM_HOME も同じパスに設定しておく

    iga_k
    iga_k 2022/06/12
    docker-compose.override.yml
  • DockerでIRBやPryの履歴を記憶

    DockerでIRBやPryを利用するときにも入力したコードの履歴を記憶するよう設定する機会があったので、あらためて整理しておく。 大まかな作戦としては、/usr/local/history という適当に考えたパスにDockerのデータボリュームをマウントし、更に適当に考えた次のファイルパスに履歴を書き込ませる作戦でいく。 /usr/local/history/.irb_history /usr/local/history/.pry_history IRBはデフォルトでは ~/.irb_history に履歴を書き込む。 デフォルトで、実行結果の履歴1000件が ~/.irb_history に保存されます。 https://docs.ruby-lang.org/ja/latest/library/irb.html IRBは起動時にカレントディレクトリの .irbrc というファイルを実行

    DockerでIRBやPryの履歴を記憶
    iga_k
    iga_k 2022/04/14
    知見!
  • RubyのDockerイメージでよく使う環境変数

    Ruby向けのDockerイメージで使いがちな環境変数について整理する。 GEM_HOME RubyGemsに対して、どのディレクトリにGemをインストールするかを指定する環境変数。例えば gem install foo を実行すると、この環境変数で指定したディレクトリにfoo gemがインストールされる。 Dockerでありがちな作戦として、/gem のような適当なパスにデータボリュームをマウントしておいて、そこにGemを永続化させておくというのがある。このときGEM_HOMEを /gem に指定しておくと、gem install bundler を実行したときそこにBundlerがインストールされ、更に /gem/bin/bundle も用意される。 BUNDLE_PATH Bundlerに対して、どのディレクトリにGemをインストールするかを指定する環境変数。例えば bundle i

    RubyのDockerイメージでよく使う環境変数
    iga_k
    iga_k 2022/04/02
    便利知見!
  • cimg/ruby - CircleCI

    このイメージは、従来の CircleCIRuby イメージ circleci/ruby の後継となるものです。 cimg/ruby は、継続的インテグレーションでのビルドを想定して CircleCI が作成した Docker イメージです。 各タグには、特定のバージョンの Ruby 一式と gem コマンド、Bundler、および CircleCI 環境でビルドを正常に完了させるために必要なバイナリとツールが含まれています。 使用方法このイメージは、CircleCI Docker Executor と組み合わせて使用します。 以下に例を示します。 1 2 3 4 5 6 7 jobs: build: docker: - image: cimg/ruby:3.4.5 steps: - checkout - run: ruby --version 上記の例では、この CircleCI

    cimg/ruby - CircleCI
    iga_k
    iga_k 2021/12/02
    circleci/ruby の後継イメージ名は cimg/ruby。 -browsers つかうとChrome, ChromeDriver などもインストールされている。
  • SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版)

    SECKUN 2021 pub.md SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版) この資料について 九州大学のSECKUN 2021/ProSec-IT(enPiT-Pro) 2021の共通カリキュラムにおいて、近藤 @udzura が担当したコンテナ概要の授業にて使用した教材です。 https://cs.kyushu-u.ac.jp/seckun/about/ https://cs.kyushu-u.ac.jp/enpit-pro/ 今回、公益性を鑑み、授業固有の連絡事項などを削除した状態で公開します。 ライセンスは Creative Commons Attribution 4.0 International Public License (CC BY 4.0) ref とします。 個人の自学、社内研修、スクールでの授業などでお使いいただけますが、内

    SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版)
    iga_k
    iga_k 2021/11/13
    うづらさんのDocker入門
  • ruby/debugのChrome Devtools連携をRailsで動かす|TechRacho by BPS株式会社

    morimorihogeです。涼しくなってようやく生きていける感じになって何よりです。 今回はruby/debugに新しく導入されたChrome Devtools連携リモートデバッグ機能を動かしてみたので、そちらを紹介してみようと思います。 ことの起こり 新しいRuby標準デバッガとして開発が進んでいるruby/debugですが、先日こんなTweetがありました。 debug.gem and Chrome browser integration. Thanks Ono-san! pic.twitter.com/3aUdH2zbEo — _ko1 (@_ko1) October 14, 2021 なにこれすごくない!?と思い、今回の記事を書くに至りました。 動きとしては、デバッガのコンソールで open chrome コマンドを実行するとURLが表示され、そのURLにChromeでアクセスす

    ruby/debugのChrome Devtools連携をRailsで動かす|TechRacho by BPS株式会社
    iga_k
    iga_k 2021/11/01
    Railsでdebug.gemを動かす
  • 自分で書いてきた「やわらかシリーズ」のまとめ - ローファイ日記

    某ョルドさんのSlackで紹介してて思い出したんだけれど、2013年ごろから やわらか.* で始まるチュートリアル「やわらかシリーズ」を作っていて、結構な数存在している模様。 このやわらかシリーズは、「初学者向けの見た目・表現をしながら、作者の若干偏った『これが質だ!!!』と言う見解を練り込んでそっち側に誘導する」と言うコンセプトで作られ続けたもので、今回意外な数溜まっていて自分でも忘れていたのでまとめておこうと思った。 最初に作ったのはこれ。 やわらかRuby やわらかRuby · GitHub 実はやっていることは「メタプログラミングRuby」を読む前の肩慣らし問題、という恐ろしいタイトル詐欺なのでは... と今眺めて思った。肩慣らししたい方に勧めてください。 やわらかHubot Hubotによるやわらかプログラミング · GitHub もともと社内の非エンジニア向けプログラミング教

    自分で書いてきた「やわらかシリーズ」のまとめ - ローファイ日記
    iga_k
    iga_k 2020/11/23
    うづら先生のやわらかシリーズ
  • 続・るりまの開発環境をDockerで作ってみた - ゲームリンクスの徒然なる日常

    はじめに 昨日書いた記事の続編です。 gamelinks007.hatenablog.com Dockerを使い、るりまの開発環境(+プレビュー環境)を作ってみました。 環境構築 以下のDockerfileをまず作成します。 FROM ruby:latest WORKDIR /home COPY ./ ./ RUN gem install bundler:1.17.2 bitclust-core bitclust-dev refe2 rack あとはdocker build . -t ruremaを実行してイメージをビルドします。 docker build . -t rurema次に、docker run --rm -it -p 3000:3000 rurema bashを実行してイメージにアクセスします。 docker run --rm -it -p 3000:3000 rurema b

    続・るりまの開発環境をDockerで作ってみた - ゲームリンクスの徒然なる日常
    iga_k
    iga_k 2020/09/03
    るりま
  • パーフェクトRails 増補改訂版の自身の担当分について - joker1007’s diary

    長らく改訂版をお待たせしていたパーフェクトRailsがついに新しくなります。 私は、やはり人間は締切が近くならないと働かない、という極めて重要な事実を改めて学ぶことができたのが良かったと思っています。 そろそろ献させていただいたは届き始めている様で、ブログやTwitter等で紹介していただけて嬉しい限りです。 全体の解説や紹介はそちらに任せるとして、私は今回担当していた箇所が大きく変わったので、それについての感想や裏話を書こうかと思います。 前回担当していた箇所 前回は、基的に終盤のRailsの基機能を越えたアプリケーションを作る時に助けになる章を担当していました。 元々は、そういう仕事としてRailsアプリケーションを書く上で気にしておきたいこと、というのが書かれたが余り無く、何とかそういうを作りたいという思いがあったので、あの辺りの章を担当させてもらいました。 正解の無い部

    パーフェクトRails 増補改訂版の自身の担当分について - joker1007’s diary
    iga_k
    iga_k 2020/07/20
    jokerさんのDocker知見が詰まったパーフェクトRails!あと、私の担当箇所でDockerfileを書く必要があって、そこでjokerさんのレビューファインプレーで間違いを修正できました。感謝。
  • CPU律速なRuby/Pythonコードはデフォルト設定のdocker上で遅くなる - まめめも

    English version 要約 dockerはデフォルトでセキュリティ機構(Spectre脆弱性の対策)を有効にします。この影響で、RubyPythonのようなインタプリタは速度が劣化します。特にCPU律速なプログラムで顕著に遅くなります(実行時間が倍くらいになることがあります)。 現象 Rubyで1億回ループするコードを、直接ホスト上で実行する場合と、docker上で実行する場合で実行時間を比較してみます。 直接ホスト上で実行した場合: $ ruby -ve 't = Time.now; i=0;while i<100_000_000;i+=1;end; puts "#{ Time.now - t } sec"' ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux] 1.321703922 sec docker

    CPU律速なRuby/Pythonコードはデフォルト設定のdocker上で遅くなる - まめめも
    iga_k
    iga_k 2020/05/23
    調査と理由への到達すごい
  • [旧版]クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(翻訳)|TechRacho by BPS株式会社

    まえがき 記事は、私がRailsConf 2019で話した「Terraforming legacy Rails applications」↑の、いわばB面に相当します。この記事を読んで、皆さんがアプリケーション開発をDockerに乗り換えるとまでは考えていません(皆さんが以下の動画で若干言及しているのをご覧になっていたとしても)。記事の狙いは、私が現在のRailsプロジェクトで用いている設定を皆さんと共有することです。それらのRailsプロジェクトは、Evil Martiansのproduction development環境で生まれたものです。どうぞご自由にお使いください。 原文免責事項: 英語版記事は最新の推奨事項に合わせて更新を繰り返しています。詳しくは記事末尾のChangelogをご覧ください(参考: 原文Changelog)。 私がdevelopment環境でDockerを使

    [旧版]クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(翻訳)|TechRacho by BPS株式会社
  • docker-composeを便利にするツール「dip」を使ってみた|TechRacho by BPS株式会社

    更新履歴 2019/11/27: 初版公開 2020/05/01: サブコマンド実行部分に追記 2021/04/14: dip 7.0に合わせて更新 2021/07/16: docker-composeコマンドをdocker composeに置き換え dipとは dipは、Rails開発会社のEvil Martiansのメンバーが作った、docker-composeでの作業を能率的に行えるツールです。dipはDocker Interaction Processの略だそうです。 dipはRubyで書かれているのでRuby実行環境が必要です。元々Rails向けに作られたツールのようですが、Evil MartiansのReactアプリにもdip.xmlがあることからわかるように、Railsに限らず一般のdocker-composeでも使えます。私の場合はローカル開発環境でのみ使っています。 追記

    docker-composeを便利にするツール「dip」を使ってみた|TechRacho by BPS株式会社
    iga_k
    iga_k 2019/11/29
    dip bundle installとかdip sh とか便利そう