並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 524件

新着順 人気順

dockerfileの検索結果321 - 360 件 / 524件

  • 複数の環境でDockerfileを共通化するために使えるtips

    前提 コンテナを用いてアプリケーションのワークロードを構築することにはいくつかの利点があります。 なかでも、下記に上げられるポータビリティと環境の再現性は非常に強力です。 ポータビリティ コンテナは、アプリケーションとその依存関係をコンテナ内にパッケージ化します。 これにより、開発環境で構築したコンテナを本番環境にデプロイする際にも、一貫した動作が期待できます。 異なる環境間でアプリケーションを移行する際に、互換性の問題や依存関係の不一致が生じるリスクが低減され、ポータビリティが高まります。 環境の再現性 コンテナは環境に依存しないため、開発者が特定の環境でアプリケーションを構築した場合でも、他の開発者や運用チームが同じ環境を再現することが容易です。 コンテナイメージにはアプリケーションのコードとその実行環境が含まれており、イメージを共有することで他の人が同じ環境でアプリケーションを実行で

      複数の環境でDockerfileを共通化するために使えるtips
    • kubernetesをローカルの開発に活用する - Please Drive Faster

      できる限りプロダクションのクラスタ設定をそのままローカルの開発にも使いたいなー、と思って色々と試行錯誤して、ようやく形になってきたので書いておく。 なぜローカルでkubernetesを動かしたいのか 最近ではInfrastructure as Code、Immutable Infrastructureの考え方と共に、コンテナの上でアプリケーションの環境の構築、運用、開発をすることが増えてきた。 少し前までは、Dockerでローカルの開発環境の構築は楽になったけど、本番にデプロイするのにはハードルがある印象が個人的にはあった。だけど、kubernetesの登場によってそのハードルは大きく下がった。 最近はマイクロサービスアーキテクチャへの注目と共に、様々なコンテナが協調してサービスを形作る構成が増えてきたように思う。kubernetesはこの全てのコンテナを管理する。 kubernetesは

        kubernetesをローカルの開発に活用する - Please Drive Faster
      • Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり - Repro Tech Blog

        Apple Silicon の時代が来る Repro でサーバーサイドの開発をお手伝いしているうなすけと申します。 2021年10月19日に行われた Apple の新製品発表において、M1 チップを搭載した MacBook Pro が発表されました。この発表により、Intel チップを搭載した MacBook はラインナップから消え、今後は M1 チップ上で開発する機会が増えることは確実です。 ところで、私達の開発環境は M1 に対応しているのでしょうか? 社内の開発メンバーの大半は MacBook を使用しているので、もし対応していない場合、なるべく早く対応させないと新しい社内端末を購入できなかったりするので、結構影響が大きいです。 またインターネット上で、M1 Mac を使用している人々からの「全然発熱しない」だとか「ファンが回ることがない」とか「電池の持ちがすごい」とかの良い評判を目

          Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり - Repro Tech Blog
        • Immutable Infrastructure時代のConfiguration Management Toolの要件およびその実装について - Kentaro Kuribayashi's blog

          本稿では、"Immutable Infrastructure"時代におけるconfiguration management tool(以下、CMT)の要件およびそれを満たすツールについて議論する。 背景の整理 "Immutable Infrastructure"とは、2013年6月、Trash Your Servers and Burn Your Code: Immutable Infrastructure and Disposable Components - Chad Fowlerにより提唱された概念だ。ある種のプログラミング言語における不変性がプログラムにおける厄介な問題を解決するように、サーバの状態を不変な(正確には、状態を変更しない)ものとすることで、成長し続けるソフトウェアにとって避けられない、時間の経過によりもたらされる種々の問題が、解決可能であるとする。 そもそもどのような

            Immutable Infrastructure時代のConfiguration Management Toolの要件およびその実装について - Kentaro Kuribayashi's blog
          • 1.9.0

            Today I’d like to announce Homebrew 1.9.0. The most significant changes since 1.8.0 are Linux support, (optional) automatic brew cleanup and providing bottles (binary packages) to more Homebrew users. Major changes and deprecations since 1.8.0: Homebrew 1.9.0 has beta support for Linux and Windows 10 (with the Windows Subsystem for Linux). Homebrew on Linux (known as Linuxbrew) does not require ro

              1.9.0
            • Windows7環境なのにdocker入れて開発することになった話【①環境設定編】 - Qiita

              改訂情報 2019/3/18 docker-ceのバージョンUP(18.XX)に伴い、「/etc/systemd/system/docker.service.d/http-proxy.conf」の一番最後を変更 (修正前) ExecStart=/usr/bin/dockerd -H fd:// \$DOCKER_NETWORK_OPTIONS (修正後) ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS\ (参考:docker18.09.0にあげたらdocker.serviceが起動しなくなった) はじめに システム開発において、「手順書」という内部成果物をよく見かけます。 (開発環境構築手順書、デプロイ手順書、etc...) こういったトラディショナルな開発手法が、dockerというソフトウェアによりぶち壊されようとしています。 この記

                Windows7環境なのにdocker入れて開発することになった話【①環境設定編】 - Qiita
              • Best practices for writing Dockerfiles | Docker Documentation

                { switch(e.key) { case 'k': if (e.metaKey || e.ctrlKey) { e.preventDefault() open = !open; if (open) { document.body.classList.add('overflow-hidden'); } else { document.body.classList.remove('overflow-hidden'); } } } }"> OverviewGet Docker Docker Desktop Overview Install MacUnderstand permission requirements for MacWindowsUnderstand permission requirements for WindowsLinux Installation per Linux d

                  Best practices for writing Dockerfiles | Docker Documentation
                • 「コンテナジャーニー」〜明日から速攻始めるAWSでのコンテナ運用〜 #cmdevio2018 | DevelopersIO

                  アプリケーションのコンテナ化には様々なメリットがありますが、実際に本番環境に導入するには従来のアプリケーションの考え方とは違う部分もあり、簡単にはいきません。その辛さを乗り越えて「もっと多くの人にコンテナを活用してもらいたい」という想いを、このセッションに込めました。 「コンテナ導入ってどこからやったらいいんやろう…」 Amazon ECSがリリースされてから、早4年。Docker自体の進歩が目覚ましく、周辺のオーケストレーションツールや関連するOSSなども目を見張るような勢いで進化しています。以前は開発環境での利用が主流だったコンテナも、今では本番環境での採用事例も増えてきました。さらに、Fargateの東京リージョンリリースやEKSの一般公開など、話題には事欠きません。 アプリケーションのコンテナ化には様々なメリットがありますが、実際に本番環境に導入するには従来のアプリケーションの考え

                    「コンテナジャーニー」〜明日から速攻始めるAWSでのコンテナ運用〜 #cmdevio2018 | DevelopersIO
                  • AWS Copilot のご紹介 | Amazon Web Services

                    Amazon Web Services ブログ AWS Copilot のご紹介 Amazon Elastic Container Service (Amazon ECS) をご利用中、あるいはご利用を検討されている皆さまへ 本記事でご紹介する AWS Copilot は Amazon ECS CLI の後継に当たるものです。日本はこの ECS CLI を多くのお客様にご利用いただいている地域の1つであることに加え、ECS でのコンテナ実行をもっと簡単に行えるようにしたい、シンプルなワークフローを実現したいというリクエストを多数いただいていることから、本記事を英語記事と同じタイミングで公開することにしました。 Amazon ECS でのコンテナ実行に新たな体験を提供する AWS Copilot の紹介記事です。お楽しみください! −トリ (皆さまからの Copilot へのフィードバック、

                      AWS Copilot のご紹介 | Amazon Web Services
                    • KubeCon2017感想: Kubernetes in 2018 – deeeet – Medium

                      先週12月6日から8日にかけてTexas Austinにて開催されたKubeCon + CloudNativeCon2017に参加してきた.具体的なセッションの内容などはMercariのTech blogに上がると思うのでここでは簡単に自分なりの感想と概観をざっくりと吐き出しておく. KubeCon 2017の3日間と今後のKubernetesの(大きな)展望は2日目のClayton Coleman氏によるKeynoteのWhat’s Next? Getting Excited about Kubernetes in 2018が総括をしていると思う.自分の今取り組んでること,今後取り組みたいこと,も結局これに集約されていると思う.この発表の中で今後,特に直近の2018年に,k8sでフォーカスが当てられると述べられていたのは以下の7つの分野である. The year of service m

                        KubeCon2017感想: Kubernetes in 2018 – deeeet – Medium
                      • VMware、Dockerのような独自の新技術「Project Fargo」発表。1秒以下で仮想マシン起動を実現。VMworld 2014

                        VMware、Dockerのような独自の新技術「Project Fargo」発表。1秒以下で仮想マシン起動を実現。VMworld 2014 VMwareはサンフランシスコで開催中の「VMworld 2014」において、急速に普及するコンテナ技術の1つであるDockerとの協業を発表し、積極的にVMware製品群で対応することを明らかにしました。 [速報]VMwareがDockerと協業発表。エンタープライズにおけるコンテナ環境の実現へ。Kubernetesにも参加を表明。VMworld 2014 その一方で同社はDockerのような、仮想マシンをまるでコンテナのように軽量に扱える独自の新技術「Project Fargo」の存在を明らかにしました。その概要がVMware CTO, AmericasのChris Wolf氏がポストしたブログ「VMware and Docker – Better

                          VMware、Dockerのような独自の新技術「Project Fargo」発表。1秒以下で仮想マシン起動を実現。VMworld 2014
                        • レガシーシステムをDockerコンテナ化する場合に直面した4つの壁 - RAKUS Developers Blog | ラクス エンジニアブログ

                          こんにちは。 株式会社ラクスで先行技術検証をしたり、ビジネス部門向けに技術情報を提供する取り組みを行っている「技術推進課」という部署に所属している鈴木(@moomooya)です。 ラクスの開発部ではこれまで社内で利用していなかった技術要素を自社の開発に適合するか検証し、ビジネス要求に対して迅速に応えられるようにそなえる 「技術推進プロジェクト」というプロジェクトがあります。 このプロジェクトで「WEBアプリケーションのDockerコンテナ移行」にまつわる検証を進めているので、その中間報告を共有しようかと思います。 本検証での想定環境 CIに不必要な部分は後回し 既存アプリでコンテナ化の障害になった部分 OSコマンドを利用している ミドルウェアとの密結合 オンライン系とバッチ系の密結合 ひとまず目指す状態 プロセス相乗りの影響 ログが複数出力される まとめ 続きの記事も書きました。 tech

                            レガシーシステムをDockerコンテナ化する場合に直面した4つの壁 - RAKUS Developers Blog | ラクス エンジニアブログ
                          • Vagrant + CoreOS + Dockerを利用した開発環境セットアップ

                            vagrant_coreos_docker.md Vagrant + CoreOS + Dockerを利用した開発環境セットアップ MacOSX + Vagrant + CoreOS + Docker + Ubuntuの環境。 2014年6月11日時点での情報。 Version: CoreOS 343.0.0 Kernel: 3.14.5 Docker: 1.0 技術要素の説明 独断と偏見での説明。 Vagrant - 仮想マシンの作成・起動・停止などを簡単に行うためのツール VirtualBox - 仮想化ソフトウェア CoreOS - Dockerを実行するのに特化した最低限のLinuxイメージ Docker - コンテナ型実行環境を提供するツール Why Docker? いろいろな環境を仮想OSで準備するのはだるい そのためにVagrantがあるが、OSイメージが乱立するとディスクス

                              Vagrant + CoreOS + Dockerを利用した開発環境セットアップ
                            • VSCode + Dockerでよりミニマルでポータブルな研究環境を

                              はじめに もっとミニマルで簡単なポータブルな環境を! 自分自身の研究のための環境構築についてこれまで二本の記事を書いてきました. これらの記事から二年ほどたち, いくつかの点において不満点が出てきました. 特に, GCPや自宅のサーバー上でリモートで作業することが多くなってきたので, よりミニマルでポータブルな環境が必要になりました. 以下では, 現時点で最小限の努力で環境を再現ができることを目標にしたDockerベースのGitHubレポジトリのテンプレートとその使い方を紹介します. このテンプレートを用いて作られた環境は, 新たなコンピュータ上で最短4ステップで環境を再現できるようになります. git clone VSCodeの"Open in Remote Containers" renv::restore() dvc pull この環境とセットアップはこのレポジトリにテンプレートとし

                                VSCode + Dockerでよりミニマルでポータブルな研究環境を
                              • nginxをdockerで動かす時のTips 3選

                                こんにちは。CTOの馬場です。 最近利用する機会が増えてきたdockerネタです。 nginxを動かすときのTipsを3つ紹介します。 foregroudで起動する dockerではコマンドをforegroundで動かさないとコンテナが停止してしまいます。 nginxはデフォルトはデーモンとして動くので、foregroundで動くように設定しましょう。 nginx.confで設定するならこうです。 daemon off; Dockerfileの起動コマンドで指定するならこうです。 CMD ["/usr/sbin/nginx", "-g", "daemon off;"] 動的な設定を外部化する イメージの中に設定値を入れちゃうのはダサいですよね。 コンテナ起動時に動的に設定したいものです。 dockerの場合は docker run 時に -e で環境変数を指定できるので使いましょう。 do

                                  nginxをdockerで動かす時のTips 3選
                                • Docker Compose入門 (4) ~ネットワークの活用とボリューム~ | さくらのナレッジ

                                  これまでのDocker Compose入門は、Docker Compoesの紹介に始まり(第1回)、簡単なウェブサーバを起動する方法(第2回)、ネットワークの理解を深める方法(第3回)でした。今回は連載のまとめとして、ネットワークとボリュームの活用によって、1つのサーバもしくはPC上に複数のアプリケーション環境を動かす方法をみていきいましょう。 Docker Composeはプロジェクトごとにネットワークを持つ 前回はDockerのネットワークの扱いを学びました。Dockerコンテナを実行すると、そのコンテナ内のプロセスは、デフォルトで「bridge」という名称の仮想的な内部ネットワークを通して通信を行います。またホスト上のブリッジ(仮想的なネットワーク・スイッチ)を経由して、Dockerが作成する他の内部ネットワークや、ホスト側のインターフェースを通して、インターネットなどの外部ネットワ

                                    Docker Compose入門 (4) ~ネットワークの活用とボリューム~ | さくらのナレッジ
                                  • ABEJAの技術スタックを公開します (2019年11月版) - ABEJA Tech Blog

                                    2021/10/22追記:最新版は下記記事になります!こちらもご一読くださいませ。 tech-blog.abeja.asia どうも、Tech Blog編集長(自称)の緒方(@conta_)です。 よくエンジニアの方にご質問いただく ABEJAってよく聞くけど、実際どんなことやってるのかよくわからない という点をクリアにするために、事業内容と技術視点でのABEJAの取り組みを紹介したいと思います。 ABEJAに興味のある方や、未来の一緒に働くメンバーに読んでいただけると嬉しいです! 割とAIコンサルの会社と思われているらしいので、ちゃんとプロダクト作ってますよ!ということを伝えていきたい ABEJAの事業紹介 ABEJAは2012年から約7年間、機械学習・ネットワークやIoTデバイスを活用したプロダクトの研究・開発・運用を行っています。 様々な産業・業種へ機械学習の適用・運用を培ってきたナ

                                      ABEJAの技術スタックを公開します (2019年11月版) - ABEJA Tech Blog
                                    • 1コンテナ複数プロセスはやめておいた方が良い話 - Qiita

                                      概要 Docker コンテナの原則として「1コンテナ1プロセス」1というものがありますが、あえてこの原則を破りたいときがあるかもしれません。 公式: Run multiple services in a container 有志翻訳: コンテナー内での複数サービス起動 上記ドキュメントのラッパースクリプトを利用する方法には重大な問題があり、本番環境で使用するべきではありません。 (よりによって「本番環境でのアプリ運用」の項目にある) 公式ドキュメントに書かれているのに、死ぬというのはおかしいじゃないか それが罠だという証拠 ちなみに supervisord を利用する方法は問題ありません。 また、コンテナ向けに最適化された s6-overlay2 を利用する方法もあります。 ラッパースクリプトの問題点 プロセスの graceful shutdown が実行されない(プロセスに SIGKIL

                                        1コンテナ複数プロセスはやめておいた方が良い話 - Qiita
                                      • Quarkus: コンテナ上で Java アプリを高速起動する新しい手法のご紹介

                                        Docker 環境上で Java のアプリを起動するのは遅いと思っていらっしゃる方は必見!! どうぞ下記の内容をご参照いただき、どうぞお試しください!! 先日、Red Hat から Quarkus (https://quarkus.io) という新しい技術が発表されました。こちらを実際に試して見ましたが、想定通りというか、まさにこれを待っていた!!という技術でした。今後、私の中で注目の技術の一つになりそうです。もし、Docker/k8s 上で Java アプリを動かす方は、こちらの方法をご覧いただき、ぜひ試しください。 Quarkus を簡単にご説明すると、Java のソースコードを GraalVM を利用して Linux の Native バイナリを作成し、その Linux バイナリをコンテナ上で起動することにより、今まで Java アプリの課題であった起動時間を大幅に短縮することができ

                                          Quarkus: コンテナ上で Java アプリを高速起動する新しい手法のご紹介
                                        • フロントエンドエンジニアなら知っておきたい、JavaScriptのログ収集方法まとめ

                                          サーバーサイドに比べて見落とされがちな、フロントエンドのエラーログ収集。JavaScriptのログ収集、確認に役立つ手法、ツール、ライブラリーを総まとめ。 開発進行中も本番モードでの運用時も、ソフトウェアアプリケーションにおいてロギングは大切です。 サーバーを運用しているなら、サーバーサイドの言語選択にかかわりなく無数のライブラリーを利用でき、広範に及ぶストレージメカニズムやログ出力を扱う際の各種ツールも使えます。 しかし、クライアント側アプリケーションとなるとロギングは見過ごされがちで、利用できる手法もかなり限られています。 この記事ではクライアント側アプリケーション、特にJavaScriptを中心としたシングルページアプリケーション(SPA)におけるロギングの実装方法を紹介します。 コンソール エラーとメッセージのロギング方法でもっとも一般的かつ分かりやすいのは、おそらくコンソールの使

                                            フロントエンドエンジニアなら知っておきたい、JavaScriptのログ収集方法まとめ
                                          • 超基礎からの 速習 Docker (1) - Qiita

                                            本稿は、Christffer Noring さん (@chris_noring) の Learn Docker, from the beginning を翻訳し、分かりやすいように少しだけ追記、サンプルコードの実行上の補足等を行ったものです。Docker について教科書的な使い方を実際に実行して確認しつつ、Docker Composeを使ったオーケストレーションの基礎までを導いてくれます。今、Docker で注目されるのは、コンテナ同士が連携する、オーケストレーションです。本稿ではオーケストレーションの最も基礎となる Dokcer Compose までですが、オーケストレーションを活用するための基礎的部分の考え方を実地を以ってしっかりと理解できます。その意味で、原題は「from the beginning」ですが、初心者向けと言うよりも、今現在進行形の技術トレンドをキャッチアップするための

                                              超基礎からの 速習 Docker (1) - Qiita
                                            • Rails × ECS でオートスケーリング&検証環境の自動構築 - メドピア開発者ブログ

                                              マリオカートでカーブを曲がるときに体を傾斜させてしまうCTO室 kenzo0107 です。 今回は 2018/04/02 にリニューアルしたイシコメの Rails × ECS についてです。 イシコメとは? 「イシコメ」は、医師10万人の声でつくるヘルスケアメディアです。 医師と一般の方々をつなげることで、医療情報格差を埋めることを目指しています。 MedPeerの10万人の医師会員に協力いただいたアンケート結果をもとに編集部で記事を執筆し、医師監修の上で配信。多くの医師の声を反映することで、より正しい情報を提供しています ishicome.medpeer.jp リニューアル経緯 リニューアル前は以下のような構成でした。 フロントに Laravel 5 バックに Drupal Docker on EC2 コンテナイメージの S3 でのプライベート管理 Docker がまだ出てきて間もない頃

                                                Rails × ECS でオートスケーリング&検証環境の自動構築 - メドピア開発者ブログ
                                              • はてなブログをECSに移行してリリース頻度も改善した話 - Hatena Developer Blog

                                                この記事ははてなエンジニア Advent Calendar 2022の26日目のエントリです。 こんにちは id:cohalz です。はてなブログでは2022年7月にインフラをAmazon EC2からAWS ECS(AWS Fargate)に移行するプロジェクトが完了しました。 プロジェクトは2021年9月から始まったので約10ヶ月間という大きなプロジェクトでした。 プロジェクト完了までに行ってきたことのうち、特に面白かったところなどをこの記事で実施した順に振り返ってみます。 はてなブログのインフラのこれまで アプリケーションを動かせるようにする ALBを追加する 検証環境を用意だけしておく プロキシの設定埋め込み 証明書の配信 アクセスログを配送できるようにする アクセスログの形式を新しくする EC2でもFirehoseを経由するように タイムゾーンをUTCに統一 FirehoseのLa

                                                  はてなブログをECSに移行してリリース頻度も改善した話 - Hatena Developer Blog
                                                • TinyGoで始める組み込みプログラミング - スイッチサイエンス 開発者ブログ

                                                  144labの入江田です。 今回TinyGoという素敵なプロダクトを試してみました。 TinyGoとは TinyGoは本家Go言語の組み込み向けのサブセット版。 本家Go言語はPOSIX-OSに対する機能依存が大きく、リッチなランタイムを持っています。その為、本来はOSを持たない組み込み用途には不向きでした。 TinyGoはPOSIX-OSに依存する機能を簡易的な実装で代用しつつLLVM(コンパイラを作る為のフレームワーク)を使って組み込み向けアーキテクチャをサポートするGo言語のコンパイラです。 つまりサポートするCPUアーキテクチャはLLVMがサポートするものを前提にしています。 リポジトリ https://github.com/tinygo-org/tinygo ドキュメント https://tinygo.org/ サポートアーキテクチャ ARMのCortex-M0系 WebAsse

                                                    TinyGoで始める組み込みプログラミング - スイッチサイエンス 開発者ブログ
                                                  • Pipenv と Docker を使った開発環境のベストプラクティス - kawasin73のブログ

                                                    イテレーションの速さがあなたの生産性を左右する。どうも、かわしんです。生産性の高いプログラマって1つ1つの試行が素早い(自動化しているかツールを使っている)ためにものすごいスピードで開発できていると思うんですよね。 さて、最近 Python で開発をしているのですが、世の中の Docker と Pipenv の開発環境を調べてもろくなものがなかったので、自分でテンプレートを作りました。いわゆる「俺の考える最強の Pipenv + Docker 開発環境」というやつです。 リポジトリはこちらになります。 github.com 特徴としては、以下の2つが大きいです。 pipenv install をコンテナ起動時に行うため、docker イメージを作り直す必要がない pipenv shell 相当の仮想環境のアクティベートを自動で行う なぜ Docker + Pipenv なのか Docker

                                                      Pipenv と Docker を使った開発環境のベストプラクティス - kawasin73のブログ
                                                    • 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ

                                                      BusterとかStretchという名前が見慣れない方もいるかもしれませんが、これはLinuxディストリビューションとしてシェアの大きなDebianのコードネームです。 Debianバージョンが少し古いStretchの方がちょびっとサイズが小さかったりはしますが、まあ実用的にはサポートが長い方がいいですよね。slimを使ってGCCとかのコンパイラを自前でダウンロードしている記事とかもたまに見かける気がしますが、マルチステージビルドであれば、そんなにケチケチしなくていいのと、パッケージダウンロードは逐次処理なので遅く、処理系が入ったイメージのダウンロードの方が高速です。並列で処理されるし、一度イメージをダウンロードしてしまえば、なんどもビルドして試すときに効率が良いです。また、多くのケースでネイティブのライブラリも最初から入っており、ビルドでトラブルに遭遇することはかなり減るでしょう。 Py

                                                        仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ
                                                      • Docker イメージを利用したローカル開発環境向けメールサーバ構築のすゝめ|TechRacho by BPS株式会社

                                                        ebi です。 弊社では Rails だけでなく、 WordPress 等を利用した PHP 環境、WordPress 等のフレームワークを利用するまでもなく、素の PHP で構成されるページを作成、保守することもあります。 往々にして LP だったり、コーポレートサイトやサービスサイトが中心で、サイト上からのメールの送信を伴う問い合わせフォームがセットとなっていることが多いです。 Rails だとメール送信は Action Mailer を利用して、メール受信は letter_opener 等を利用すればすぐにそれっぽい画面で確認できて便利だな、と思っていたのですが、そこそこ前から Rails 以外のプロジェクトでも、 Docker を利用して letter_opener 相当の環境を手元に用意しているのが便利なので今回はそれを紹介します。 これまでの話 ところで、そもそもこれまではどう

                                                          Docker イメージを利用したローカル開発環境向けメールサーバ構築のすゝめ|TechRacho by BPS株式会社
                                                        • App Engine VS Cloud Run

                                                          Cloud Run CPU 0.08 ~ 8 Core (2nd gen は最小 0.5~) Memory 128 MiB ~ 32 GiB (2nd gen は最小 512MiB~) Deploy App Engine は Deploy (gcloud app deploy) を実行すると Cloud Build が暗黙的に動いて Deploy が行われるが、これがなかなか時間がかかる。 開発環境だと CI でとりあえず main branch に merge されたら、Deploy したりするけど、Deploy を Skip してもよいような時でも CI 回してると Deploy を待つことになって、ちょっとめんどうに感じる。 更にこの仕組みは成果物は Deploy しないと生まれないので、CI と CDを分離しづらい。 Cloud Run は Container Registry a

                                                            App Engine VS Cloud Run
                                                          • VSCodeとDockerでMacにGolangの開発環境を作成する | DevelopersIO

                                                            こんにちは、CX事業本部の夏目です。 Golangは最近人気の言語で手を出そうとは思っていたのですが、環境構築がいまいちよくわからなくてできてませんでした。 (goenvを使ってGolangをインストールするときGOPATHはどうしたらいいとかよくわからなかったのです) 今日はVisualCodeとDockerを使って、Golangの開発環境をMac上に作成しようと思います。 環境構築 事前準備 VSCodeとDockerをインストールします。 Visual Studio Code - Code Editing. Redefined Docker Desktop for Mac and Windows | Docker Version 2.0以上 拡張機能のインストール VSCodeのExtension "Remote-Containers"を使用して開発環境を作ろうと思います。 Micr

                                                              VSCodeとDockerでMacにGolangの開発環境を作成する | DevelopersIO
                                                            • Docker向けのコンテナをゼロから作ってみよう | さくらのナレッジ

                                                              Docker向けのコンテナを公開するDocker Hubでは多数のコンテナが公開されており、これらをベースにして独自のコンテナを作成できる。しかし、新規に独自のコンテナを作成したい場合もあるだろう。今回は、新規にコンテナを作成するのに必要な作業手順を紹介する。 Dockerにおける一般的なコンテナ作成手順 Dockerではよく使われるOS環境を含むコンテナがあらかじめ用意されており、それをベースに独自のコンテナを作成できる。たとえば、『これから始める「DockerでかんたんLAMP環境 for CentOS」』記事では、既存のCentOSコンテナをベースに、独自の環境を構築する手順を紹介している。 しかし、公開されているコンテナではなく、ゼロからコンテナを構築したいという場合もある。たとえばDocker Hubで提供されている公式のCent OSのコンテナでは、ファイル容量削減のためか一部

                                                                Docker向けのコンテナをゼロから作ってみよう | さくらのナレッジ
                                                              • モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話

                                                                こんにちは、Sally社 CTO の @aitaro です。 マーダーミステリーアプリ「ウズ」とマダミス制作ツール「ウズスタジオ」、マダミス情報サイト「マダミス.jp」を開発しています。 はじめに この記事ではウズの開発当初から利用していた Docker Compose をやめることにした背景についてご紹介します。 Docker Compose は各マシンの開発環境での差異を吸収するというメリットがあり、多くの開発現場で導入されていますが、Docker Composeの抱えているデメリットを勘案して、最終的に一部を残して辞める決断をしました。 Docker Composeの特徴 Docker Composeは、複数のコンテナを定義し、管理するためのツールです。ウズの開発環境では、バックエンド、フロントエンド、データベースなどをそれぞれコンテナ化して、Composeで一括管理していました。こ

                                                                  モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話
                                                                • Dockerfileの作り方を考え直したらすごく効率が上がった

                                                                  Dockerfileを作る時、最初は以下の方法でやってました。 Dockerfile書く ビルドする(動かしたいアプリ含め) 起動してみる 動かなかったらDockerfile修正する またビルドして試す こんな感じでしたが、これは非常に効率が悪いです。修正して検証を行う度にビルドが発生してしまい、待ちが発生してしまいます。 どうするか? ベースイメージにアタッチ 動かしたいアプリの実行に必要なコマンドを入れて、成功したらコマンドをメモっていく アプリが動くまで「コマンド実行→成功したらメモ」を繰り返す アプリが動いたらメモったコマンドでDockerfileを作る つまり、いきなりDockerfileを作るのではなく、ベースイメージに入ってコマンドを実行して動作確認をしながらDockerfileに記述する内容を固めていき、最後に1回だけビルドします。 なぜ? Dockerfileに記述するの

                                                                    Dockerfileの作り方を考え直したらすごく効率が上がった
                                                                  • AWSネットワーク構成図の手動更新が辛い?よろしい、ならばCloudMapperだ

                                                                    株式会社ビズリーチで、SREエンジニアとして勤務しているmassです。2017年4月に入社してから、HRMOSというサービスのAWSのインフラを管理したり、アーキテクチャの設計・構築をしたりしています。 今回は、入社してから半年経ったらいつのまにかサービスのネットワーク管理者になっていて、そこで発生した問題と、それを解決するのに非常に役立ったCloudMapperというOSSを紹介したいと思います。 発生した問題 私がネットワーク管理者を引き継いだ段階では、ネットワーク構成図が作成されておらず、以下の問題が発生していました。 ロードバランサーを止められない 用途不明のロードバランサーが存在したため、停止を検討した。 しかし、どのリソースから利用されているか見えず、不用意に停止できなかった。 用途不明なEC2インスタンスの調査ができない AWSからメンテナンス通知が来た対象が用途不明なEC2

                                                                      AWSネットワーク構成図の手動更新が辛い?よろしい、ならばCloudMapperだ
                                                                    • Dockerを使いRuby on Railsアプリ、PostgreSQL、Nginxなどのコンテナーをクラウドサービスで動かしてみた - yuumi3のお仕事日記

                                                                      環境構築 普通に Boot2Docker をMacにインストールしました。Boot2Dockerは ここのブログの中ほどの画像のようにVitualBox上でDockerサーバーを動かし、Macの dockerコマンドがDockerサーバーと通信して動作します。 Dockerサーバーの作成・起動などは boot2docker コマンドで行います。 作成・起動は、 % boot2docker init % boot2docker up これで、dockerコマンドが使えるようになりますが、通信用のDOCKER_HOST環境変数を設定する必要があります。 % export DOCKER_HOST=tcp://192.168.59.103:2375 % docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE nginx latest c

                                                                        Dockerを使いRuby on Railsアプリ、PostgreSQL、Nginxなどのコンテナーをクラウドサービスで動かしてみた - yuumi3のお仕事日記
                                                                      • Docker と SO_REUSEPORT を組み合わせてみる。おそらくその1 - blog.nomadscafe.jp

                                                                        SO_REUSEPORTはLinux Kernel 3.9からサポートされている機能で、複数のプロセス/Listenerから同じTCPポートをbind可能にして、Kernelが それぞれのプロセスに接続を分散してくれるという機能です。preforkなサーバはlistenしてからworkerをforkし、それぞれでacceptを行うという手順を踏みますが、SO_REUSEPORTを使えばその手順を踏まなくても複数プロセスから同じポートをListenして処理の並列性をあげたり、hot-depolyが実現できます。 Docker のHost networking機能とSO_REUSEPORTを使って、複数のコンテナから同じポートをbindできれば、コンテナのhot-deployができるんじゃないかと思ったので、試してみました。 SO_REUSEPORTについては以下のblogが参考になります。

                                                                        • Docker Buildにおけるリードタイム短縮のための3つの改善ポイント | PLAID engineer blog

                                                                          Dockerfile効率化のベストプラクティスを、リードタイム(CI/CDの実行時間)を短縮し開発生産性を向上させる為に行うべき事という観点でまとめました。 1.Docker Daemonへの転送ファイル削減 2.Docker Imageのサイズ削減 3.cacheの有効活用

                                                                            Docker Buildにおけるリードタイム短縮のための3つの改善ポイント | PLAID engineer blog
                                                                          • 公式チュートリアルで始めるDocker | DevelopersIO

                                                                            そろそろコンテナやってみる 社内ではDockerを使った開発やインフラ構築が盛んですが、私はあまり触っていなかったので、今回公式チュートリアルを使って体験してみようと思います。 Dockerってなんですか?という方は、是非過去の記事をご覧になってください。 Developers.IO - タグ - Docker Docker Toolbox まずはセットアップということですが、Docker Toolboxというバイナリが用意されています。これをダウンロードしてインストールすれば直ぐに使えます。 私がインストールしたのは、バージョン1.11.1でした。 コンソールインタフェースとグラフィカルインタフェースが用意されています。 Docker Quickstart Terminal クイックスタート用のアイコンをクリックすれば準備は整います。 bash --login '/Application

                                                                              公式チュートリアルで始めるDocker | DevelopersIO
                                                                            • いまさらだけどDockerに入門したので分かりやすくまとめてみた - Qiita

                                                                              はじめに 今更ながらDockerに入門したのでまとめます。 全てのコマンドの細かいオプションとかまではやりません。 Dockerコマンド体系はv1.13以降の新系です。 ここではクラスタ管理(KubernetesやSwarm)については対象外です。別記事でそのうちまとめます。 ※本記事は投稿された2018年08月08日時点の情報が主になります。 勉強背景 この記事から強い危機感を覚えました。 Dockerは世の中では当たり前の技術。せめて、少し触ってみて基本的な知識くらいは身につけなければ。。。。 TL;DR(5行) Dockerは既存のLinuxカーネル機能から成り立っている イメージを共有していろんな人がいろんなところで簡単にイメージからコンテナを起動できる Dockerコマンドでコンテナを1つ1つ命令する Dockerコマンドめちゃ叩くのはだるいからDockerfileで楽しちゃおう

                                                                                いまさらだけどDockerに入門したので分かりやすくまとめてみた - Qiita
                                                                              • 無料で脆弱性検査!Dockerfileに4行追加で導入できるmicroscannerを試してみた

                                                                                microscannerは、CVEベースでDockerイメージの脆弱性検査をするツールです。簡単に導入できかつ有用なので、導入方法と利用上の注意事項などをまとめました。 先日レポートした「Docker漬けの一日を共に〜Docker Meetup Tokyo #23」は、情報量がてんこ盛りで、学び多くて楽しくてワッセロイだったんですが、その中で、とく(@CS_Toku)さんがLT発表されていた「KubeCon報告とmicroscanner試してみた」のmicroscannerが、面白そうだったので早速触ってみました。 Dockerfileに4行追加するだけで、CVEベースの脆弱性検査が無料で利用でき、既存のイメージビルドに組むこむのもお手軽そうなので、これからコンテナ導入しようと思っている人も、既に本番でガンガンコンテナ使っている人も、一度導入を検討してみてはいかがでしょうか。 __ (祭)

                                                                                  無料で脆弱性検査!Dockerfileに4行追加で導入できるmicroscannerを試してみた
                                                                                • Dockerfileとdocker buildコマンドでDockerイメージの作成

                                                                                  前回の「ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方」では、Docker EngineのインストールからDockerコンテナーを作成し、Dockerイメージに保存するところまでを紹介しました。 Dockerは開発のスピードが速く、7月3日にはバージョン1.1.0がリリースされています。詳細はブログ「ANNOUNCING DOCKER 1.1.0」を参照してください。 今回は、Dockerコンテナーの構成とDockerイメージの作成を一括で行う、「Dockerfile」ファイルと「docker build」コマンドの利用方法を紹介します。 docker run/docker commitコマンドによるコンテナー作成の限界 前回はDockerコンテナーを「docker run」コマンドで起動し、コンテナー内でソフトウェアのインストールやサービス起動など自由に構成で

                                                                                    Dockerfileとdocker buildコマンドでDockerイメージの作成