Explaining “Best practices for writing Dockerfiles” Dockerfileを書くためのベストプラクティス【参考訳】v18.09 - Qiita https://qiita.com/zembutsu/items/a96b68277d699f79418d こちらをベースにした解説スライドです。Read less
みなさんコンテナを使うことの意味を自信もって答えられるでしょうか? ここ1年ほどコンテナ関連の仕事をメインでやっているハマコーですが、いろんなお客様からこういったお声をいただくことが多くありました。 「それはコンテナ化する意味があるの?」 「こんなコンテナ運用は危ない?」 「ECSの設定とか実際めんどい。docker runじゃだめ?」 「EKSって使えんの?」 そういう声を聴く中で、自分なりの答えを模索していたわけですが、岡山での弊社イベントAWS最新技術の祭典Developers.IO 2019 at 岡山城へ登壇するにあたり、そのあたりのもやもやを自分なりに昇華したのが、本日の内容です。 「このアプリをコンテナ化する意味があるのか、わからない」 「コンテナ化することで余計めんどくさくなった」 「AWSのコンテナサービスの何を使ったら良いのかわからない」 という悩みを抱えている方には、
Dockerって?¶ もはやバズワードではなくデファクトスタンダードの立ち位置を確立しはじめたDockerです。 Dockerはコンテナと呼ばれる仮想化のための技術です。 Dockerを何故使うのか、どんな技術でできているのかをざっくり紹介します。 なぜDockerを使うのか¶ 1. ポータビリティ¶ Dockerはパッケージングのための技術と言っても過言ではないでしょう。 特定の環境をパッケージングし、どの環境でも動くポータビリティを保証します。 Dockerは任意のタイミングの状態(ライブラリ・ランタイム・コード)を1つのスナップショットとして保存します。 スナップショットは任意のタイミングの状態を再現することが可能で、そしてそのスナップショットを他の開発者やステージングや本番環境へ配布することが可能です。 当たり前ですがネットワークの疎通など、パッケージングされた外の環境は保証されな
入門 Docker¶ About¶ Dockerの入門からプロダクションで活用するプラクティスについてのドキュメントです。 プロダクションへ導入するために必要なDockerの概要から設計までをなるべく最短経路で学ぶことが目的です。 想定する読者層¶ WebAPIのようなサーバーサイドのプログラミングをしたことがある Dockerをこれからプロダクション環境へ導入してみたいと考えている初学者 Version¶ Docker 18.09.3 docker-compose 1.23.2 必要な環境¶ Docker Hub のアカウント Docker公式レジストリ Play with Docker DockerをWeb上で動かせる環境 Play with Dockerを起動するのに前述のDockerHubアカウントが必要 Docker for Mac(Windows)の場合VMが間に挟まり挙動が異
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は何か イメージやコンテナなどの基本からdocker-compose、docker-machine, docker swarmなどのDocker周りの様々な概念の全体像を整理して、Dockerの仕組みを理解するための記事 前編では「コンテナ、イメージ、DockerHubでのイメージ共有」について書いて行きます。 対象読者 ・Dockerって何? ・Dockerちょっと勉強したけどDocker compose? Docker machine? Docker Swarm? 色々ありすぎて意味不明 という方 Dockerとは何か Do
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? @rana_kualuさんの2018年の最先端バックエンドエンジニアになろうという翻訳記事がとても興味深かったのですが、記事内で提示されているロードマップに関して微妙に違和感を感じる部分もありましたので、 記事に記載されているスキルは現場でどの程度必要なのか 記事に記載されていないが現場において重要なスキルは何か といった辺りを、自分なりの意見を交えてちょっと書き出してみました。 自分をエンジニアとして最先端だとは全く思っていないのですが、最近のバックエンドのトレンドに一応多少なりともきちんとキャッチアップしてるかなとは思うので、若い方
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 今更ながらDockerに入門したのでまとめます。 全てのコマンドの細かいオプションとかまではやりません。 Dockerコマンド体系はv1.13以降の新系です。 ここではクラスタ管理(KubernetesやSwarm)については対象外です。別記事でそのうちまとめます。 ※本記事は投稿された2018年08月08日時点の情報が主になります。 勉強背景 この記事から強い危機感を覚えました。 Dockerは世の中では当たり前の技術。せめて、少し触ってみて基本的な知識くらいは身につけなければ。。。。 TL;DR(5行) Dockerは既存
想定読者 Dockerについてものすごくざっくり知りたい人 ハイパバイザ型とかホスト型とかそう言う話は調査済みもしくはあとで調べればいいと思っている人 Dockerとは Dockerを使えば、OSとアプリがインストールされた環境を閉じ込めて保存しておき、いつでもその環境を立ちあげることができます。"perlをインストールしたUbuntu"とか"JavaとpythonをインストールしたCentOS"みたいな色々なパターンを簡単に作成して保存・立ち上げが可能です。 用語 なるべく事前知識がなくても理解できるようにDockerの用語を冷凍チャーハンに例えて説明します。 *厳密性に関してはご容赦ください ファイル系 用語 説明 例えると
前回の ブログ記事 では、Kubernetesの話と、 ThoughtSpot がKubernetesを開発インフラのニーズに合わせてどのように取り入れたかをご紹介しました。今回はその続報として、最近の興味深いデバッグ経験について少々駆け足になりますがお話ししていきます。本記事も「コンテナ化と仮想化はノットイコールである」という事実に基づいており、たとえcgroupの上限がどれも高くない値に設定されホストマシンで十分な演算能力が利用できるとしても、コンテナ化されたプロセス同士がリソースの競合を起こす場合があることを示したいと思います。 ThoughtSpotでは内部のKubernetesクラスタで 多数のCI/CDや開発関連のワークフロー を稼働させており、ある1点を除いては全てが順調でした。唯一問題だったのは、ドッカー化された製品コピーを起動すると、パフォーマンスが期待を極端に下回るレベ
「職場の人たちにDockerをもっと訴求したい!」そんな想いから、「Dockerって何?」といった方々にDockerの魅力を伝えるための記事を書いてみました。 Dockerのインストール方法については、『Amazon EC2にDocker CEの環境を構築する』にまとめています。併せてお読みください。 「Docker」とは 「Docker(ドッカー)」は近年大変注目されている 仮想化ソフトウェア です。 2017年の企業におけるDockerの導入状況は「本番環境で使用している」という企業が6.0%、「開発/テスト/検証段階」の企業が13.1%であったようです。(「2017年 国内OpenStack/Dockerの導入状況に関するユーザー調査結果を発表」) Dockerが注目されている一番の理由はその 手軽さ です。Dockerを使えば、以下のようなサーバー環境を簡単に構築することができます
1000台同時SSHオペレーション環境を構築するにあたって、手元のローカル環境の性能限界の問題を解決するために、オペレーションサーバをSSHクライアントとすることによりSSH実行を高速化した。実行環境としてDocker、レジストリとしてAmazon ECR(EC2 Container Registry)を用いて、ローカル環境とオペレーションサーバ環境を統一することにより、オペレーションサーバの構成管理の手間を削減した。 はじめに システム構成 実装上の工夫 オペレーションサーバ越しのroot権限実行 rawモジュールとscriptモジュールのみの利用 Ansibleの実行ログのGit保存 まとめと今後の課題 はじめに 3年前に Ansible + Mackerel APIによる1000台規模のサーバオペレーション - ゆううきブログ という記事を書いた。 この記事では、ホストインベントリと
以前に私が書いた「 Dockerの本番運用:失敗の歴史) 」という記事は、非常に多くの反響を呼びました。 その後、長い議論を交わして、何百件ものフィードバックや何千件ものコメントを読み、さまざまな人々や主要事業者とも顔を合わせました。Dockerでの試みが増えるほど、その失敗談は増えていきます。そうした現状を、今回アップデートしておきたいと思います。 この記事では、最近の交流や記事から得た教訓を紹介しますが、その前に簡単におさらいをして軽く背景を説明しましょう。 免責事項:対象読者 たくさんのコメントから、世の中には10種類の人々が存在するということが明らかになりました。 1) アマチュア 実際のユーザがいない試用版のプロジェクトやサイドプロジェクトを実行している人々です。Ubuntuのベータ版を使用するのが当然だと考えており、「安定したもの」は古いものと見なすようなタイプです。 注釈:書
おはようございます、ImageFlux開発責任者のharukasanです。3日前の4月14日、ピクシブではPawooが急にリリースされることになりまして、ここ数日はずっとPawooサーバにログインしていました。このPawooサーバ、既にピクシブの監視体制に入っており、アラート受信後インフラエンジニアが障害対応できる仕組みを整えています。案の定、リリース直後の15、16日は週末にもかかわらずアラートを受け取ることになり、サーバにはりつくことになったわけです。どんなシステムであろうとアラートを受け取ったら対応する、それが我らインフラエンジニアです。 pawoo.netの構成 さて、それではまずPawooの構成を見ていきましょう。digすればわかりますがpawoo.netはAWS上に構成されています。数百台以上の物理サーバを常時運用しているピクシブであっても、さすがにこんなにはやく物理サーバは用
概要 Web アプリケーションを開発しているときに、開発環境に MySQL や Redis を用意しバージョンを揃え、いや Redis はキャッシュにしか使ってないし必須じゃないから開発環境に無い場合のコードも書いて…… というようなことを2017年にもなってやりたくないので、Docker を使って良い感じにやっていきます。 Docker や Docker Compose に関する基本的な説明は割愛するので、公式ドキュメントをあたってください。 目標 コマンド一発で必要なサービス群が全て立ち上がるようにする Docker Compose を使い、1サービスごとに1コンテナを立ち上げる vendor や node_modules は、ホスト側のものと完全に分離する。OS が違う場合、Native extension があると問題の原因になるので避けたい。 ホスト側ではエディタと git さえ
本稿は良いDockerイメージを良い方法でビルドすることを探求した記録である。 Supership株式会社 Advent Calendar 2016の21日目にあたる。 2019年現在は@inductor氏の改訂版を見たほうが良い。 この記事で論じた望ましいコンテナイメージの姿は2019年でも変わらない。ただし、multi-stage buildのような新しい仕組みが普及したりツールの評価が定まってきたりと、実現に用いるツールの状況が2016年からやや変化している。 良いDockerイメージ 良いDockerイメージとは何だろうか。Dockerの利点は次のようなものだから、それを活かすイメージが良いものであるに違いない。 ビルドしたイメージはどこでも動く 適切にインストールされ、設定されたアプリケーションをそのままどこにでも持っていける。 コンテナ同士が干渉し合うことはないので、任意のイメ
Docker を使い続けてコンテナやイメージを放置していると差分だけとはいえ、 ディスクの消費が増えていって、 書き込みエラー: デバイスに空き領域がありません (ENOSPC, write error: No space left on device) というエラーになってしまいます。 2017-03-18 追記 最近のバージョンでは docker system prune を使うのが良いようです。 古いバージョンを使うときの参考として、以下の記述は古いまま残しておきます。 コンテナの削除 docker rm の Eamples にあるように で停止しているコンテナを削除できます。 実行中のコンテナがあると削除できないというエラーが出ますが、 意図的にやっていることなので気にする必要はありません。 公式のドキュメントにも書いてある方法なので、 コンテナの削除方法はこのやり方で問題ないと思
2020/05/26 追記 Docker for Mac の Mutagen-based caching で Volume のパフォーマンスが劇的に改善した Mutagen単独で試してみたことがあって、すごく速くてよかったんですが、 Docker for macに統合されそうな感じになってるんですね。 これは期待。 2017/3/15 追記 先日この問題のissueに対して、 というコメントがつけられ、それに関する というプルリクが 本体にマージされたようです。 まだ詳しく見ていませんが、マウント時に同期方法オプションが指定できるようになり、そのオプションによってキャッシュするレベルを制御して同期を軽くしよう、というような感じになるようでした。 実際にリリース版で使えるのはいつなのかわかりませんが、やはり本体が早くなるのが一番いいのでちょっと期待ですね。 ========== 追記ここまで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く