2020-10-20 AWS DevDay Online Japanでの登壇資料になります。 https://aws.amazon.com/jp/about-aws/events/2020/devday/ # AWSご担当者様より承諾頂いた上でアップロードしています
![「そのコンテナ、安全ですか?」〜AWS x DevSecOpsで実践するコンテナセキュリティ〜 / Is that container safe?](https://cdn-ak-scissors.b.st-hatena.com/image/square/db9bf3c1c96148f8dd9c8629d0d446dea141a5c2/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fd757112979534e8095b0fbbc1032d2a4%2Fslide_0.jpg%3F16518338)
はじめにPID 1 問題というのは、コンテナを実行した際にアプリケーションのプロセスが PID 1(プロセス番号が1番)で実行されることで、コンテナに対して SIGTERM などのシグナルを送信してもコンテナ内のプロセスが正常に終了しないというものです。ここでは2020年3月現在でこの PID 1 問題を回避する方法を Docker と Kubernetes のそれぞれで紹介します。 TL;DRアプリケーションが「明示的にシグナルをハンドリングするようにする」、または「PID 1 で実行されないようにする」の2つの回避策があるアプリケーションプロセスが PID 1 で実行されないようにする場合、Docker では Tini のような軽量 init を使う、もしくは Docker 1.13 以上の場合は docker run の --init オプションを使うで問題を回避できるKuberne
やりたいこと 諸注意 やったこと これまでの docker-compose.yml 令和の docker-compose.yml 以上 参考 やりたいこと docker-compose.yml を書いていて, 同じ内容を何度も何度も書いていて, 令和の時代にこれはアカンということで Anchor, Alias で少しでも DRY にしたい. DRY とは, アサヒスーパードライではなく, Don't Repeat Yourself のことなので酔っ払わないように. 諸注意 動作確認環境は以下の通り. $ docker-compose version docker-compose version 1.24.1, build 4667896b docker-py version: 3.7.3 CPython version: 3.6.8 OpenSSL version: OpenSSL 1.1
この記事は@yugui氏の書いた至高のDockerイメージ生成を求めてに感謝しつつ、記事が投稿された当時には無かったさまざまな事情を組み込んで再度まとめたものである。 良いDockerイメージ 良いDockerイメージとは何だろうか。Dockerの利点は次のようなものだから、それを活かすイメージが良いものであるに違いない。 ビルドしたイメージはどこでも動く 適切にインストールされ、設定されたアプリケーションをそのままどこにでも持っていける。 コンテナ同士が干渉し合うことはないので、任意のイメージを互いに配慮することなく柔軟に配備し実行できる 必要のないサービスがコンテナ内で走っていないので、セキュリティの向上に資する イメージの転送が効率的である ベースイメージ部分は一度送ればいちいち再転送する必要がないので、ベースイメージを共有する複数のイメージを効率的に転送できる 標準のレジストリAP
NTTの須田です.Moby (≒Docker),BuildKit,containerdなど,コンテナ関連のオープンソースソフトウェアのメンテナ (開発委員.コミッタとも.)を務めています.また,Docker Meetup Tokyoの企画・運営も行っています. 2019年4月29日~5月2日にかけて, Docker公式のカンファレンスである DockerCon が サンフランシスコにて開催されました. Dockerをより安全に使うための技術「Rootlessモード」に関して発表してきましたので,紹介します. RootlessモードとはRootlessモードは,Dockerデーモン及びコンテナを,非rootユーザで実行する技術です.Rootlessモードを用いることにより,万一Dockerに脆弱性や設定ミスがあっても,攻撃者にホストのroot権限を奪取されることを防ぐことが出来ます. 須田は
Dockerでアプリケーションを配布する場合に、(一部界隈で)デファクトスタンダードになっている設定項目を環境変数とするパターンDocker なにかしらアプリケーションを開発しており、公式のDockerイメージを配布する。最近よく見かけますね。 利用者側の意見として、アプリケーションの設定には環境変数が使えると助かったりします。 なんで? ADD/COPYがいらない 変更のたびビルドしなくていい Mountつかわなくていい Mount用のファイルを管理しなくていい docker-compose.ymlなどで完結 で、この環境変数からアプリケーションの設定というやり方、一部界隈のDockerイメージで命名規則が次のように、 {アプリケーション名}_{ディレクティブ}_{サブディレクティブ} {アプリケーション名}_{設定項目名} という感じの環境変数をUppercaseでアプリケーションに渡
2018年5月28日開催 『Container SIG 2018 Summer』のスライド資料です。Read less
数字的には節目となるJava10が公開され、Java界隈は久々の春を満喫しつつ、これから始まるアップデートレースに戦々恐々としていると思います。 Java10の新規フィーチャーはいろいろなブログで紹介されていますが、個人的に気になっていたDocker対応について、少し調べてみました。 Java10のリリースノート : http://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html Dockerについては3つほど対応が書いてありますが、気になるのがこちらです。 Improve docker container detection and resource configuration usage The following changes have been introduced in JDK 10 t
こんにちは、Analyticsグループの田中です。 以前は主にデータ分析基盤を開発・運用していましたが、現在は機械学習基盤の開発に携わっています。 今回はレコメンドエンジンを題材に、コンテナ技術を活用した機械学習システムのアーキテクチャをご紹介します。 リブセンスでのレコメンドエンジン開発 リブセンスでは以前から機械学習を利用したレコメンドエンジン開発に力を入れています。 このブログの初回の記事でも社内で利用しているBPMFアルゴリズムについて解説しています。 この記事にもあるのですが、社内のレコメンドをとりまく状況は次のような点が特徴です。 複数のサービスでそれぞれのニーズに合わせたレコメンドエンジンを開発・運用している マッハバイト・転職ナビ・転職会議などの各メディアでそれぞれ独自のレコメンドエンジンが稼働している 主な事業領域である求人・不動産サービスでは、アイテムの件数は多くないが
MF KESSAI株式会社のTECH BLOGへ移動しました。 こちらのURLをご参照ください https://tech.mfkessai.co.jp/2017/11/1/ 【採用サイト】 ■マネーフォワード採用サイト ■Wantedly | マネーフォワード 【マネーフォワードのプロダクト】 自動家計簿・資産管理サービス『マネーフォワード』 ■Web ■iPhone,iPad ■Android 「しら」ずにお金が「たま」る 人生を楽しむ貯金アプリ『しらたま』 ■Web ■iPhone,iPad ビジネス向けクラウドサービス『MFクラウドシリーズ』 ■会計ソフト『MFクラウド会計』 ■確定申告ソフト『MFクラウド確定申告』 ■請求書管理ソフト『MFクラウド請求書』 ■給与計算ソフト『MFクラウド給与』 ■経費精算ソフト『MFクラウド経費』 ■入金消込ソフト『MFクラウド消込』 ■マイナンバ
はじめに Dockerfileとは docker imageを作成する際のコマンドをコード化したもの 公式ドキュメント Dockerfileは「コンテナを動かす」ためだけなら簡単に作成することが出来るが、工夫せずに書くと運用上いろいろな問題が発生する。 それらの問題点のほとんどは書き方のテクニックによって回避することが出来るが、それらのテクニックを駆使すると、今度はDockerfileの中が複雑になっていく。 Dockerfileはなぜ複雑にならざるを得ないのか 発生する問題とそれに対するテクニックを例を上げて説明していくことで理解してもらう。 rails5.1 hello world projectを例に説明する。 簡単なDockerfileの例 重要なのはFROMとRUNとCOPYのみ FROM ベースとなるimageの指定 https://docs.docker.com/engine
以前に私が書いた「 Dockerの本番運用:失敗の歴史) 」という記事は、非常に多くの反響を呼びました。 その後、長い議論を交わして、何百件ものフィードバックや何千件ものコメントを読み、さまざまな人々や主要事業者とも顔を合わせました。Dockerでの試みが増えるほど、その失敗談は増えていきます。そうした現状を、今回アップデートしておきたいと思います。 この記事では、最近の交流や記事から得た教訓を紹介しますが、その前に簡単におさらいをして軽く背景を説明しましょう。 免責事項:対象読者 たくさんのコメントから、世の中には10種類の人々が存在するということが明らかになりました。 1) アマチュア 実際のユーザがいない試用版のプロジェクトやサイドプロジェクトを実行している人々です。Ubuntuのベータ版を使用するのが当然だと考えており、「安定したもの」は古いものと見なすようなタイプです。 注釈:書
ども、大瀧です。 CloudFrontのログをAthenaで効率良く見たいと思い、Parquet形式に変換する手段としてOSSのバルクローダ EmbulkをEC2上のDockerで実行してみました。その様子をレポートします。 Apache Drillで変換する様子は石川のエントリーを参照ください。 Amazon Athena: カラムナフォーマット『Parquet』でクエリを試してみた #reinvent | Developers.IO Dockerイメージの設計、作成 Dockerイメージの作成はそれぞれのDockerfileをGitHubリポジトリにアップロードし、Docker Hub Automated Buildを利用しました。 作成されたDockerイメージは公開されているので、試したい方は記事後半の動作確認の手順に従い、イメージをダウンロードしてご利用ください。 Embulk実
こんにちは。エンジニアの志村です。 Docker for Mac便利ですね! docs.docker.com 日本語でも様々な記事が出てきています。 私もVagrant + Dockerをメインに使用しておりましたが、ついにDocker for Macに乗り換えました。 弊社では、dev環境をDockerにしているのですが、Vagrant + Dockerの時は快適に開発が出来ました。 ただ、VMを使わなくなった途端にめちゃくちゃ動作が重くなりました。 docker-compose --service-port ●●という感じで、rails serverとwebpack-dev-serverを立ち上げるのですが、ブラウザからの読込が劇的に遅い…。seedデータ突っ込むのもめちゃくちゃ遅い… フォーラムでも話題になっていますね。 forums.docker.com 私の環境でいうと、Vagr
皆さんこんにちは お元気ですか。Kaggle Meetup面白かったです!またあいましょう。 今日はDockerを使った分析環境構築の話をしようと思います。 Dockerを使って何を作ろうかと思ったら、分析環境さっさと作りたい・・・ cudnn等の更新が面倒であることが思い浮かびました。 なんとなく、Dockerを使えば解消できるのではないかといったことを思いつき遊んでみました。 Dockerとは Dockerはコードやシステムライブラリ、システムで利用するのを実行するために 必要な全てが含まれているものをラップするソフトウェアらしい。 OS上で仮想環境を立ち上げ、ソフトウェアなどの実行ができます。 www.docker.com Dockerのメリット 公式サイトによれば、次のとおりです。 階層化されたファイルシステムから構築されるので、ディスクやイメージが効率的 DockerコンテナはL
超シンプルな HTTP リバースプロキシとして動作するだけのコンテナ を作って Docker Hub に置いておいた。 https://hub.docker.com/r/ssig33/simple-reverse-proxy/ 以下のように使う。 docker run -p 5000:80 ssig33/simple-reverse-proxy example.com:3225 こうすれば http://localhost:5000 => http://example.com:3225 へのリバースプロキシとして動作する。 これでどういううれしいことができるかというと、以下のようなことができる。 Docker Swarm Mode の外で動いている Web アプリがあったとき、それに対してリバースプロキシとしてのみ動作する service を Swarm クラスタに投入すれば、 Docke
にゃんぱす〜 最近Dockerにどっぷりなんですが、Dockerについて色々地雷Tipsがあるのでそれをベストプラクティス風にまとめてみました。 Dockerコマンドが動いたけど、これからプロジェクトのDockerfileを書くようにしてみたいんだけど。。。みたいな人にオススメ。 インストール編 1. MacでDockerのインストールで詰まった なんかよくわからないエラーが出てインストール出来ないんだけど>< versionを確認して最新の環境にしましょう。とくにxCodeとVirtualBoxとvagrantのバージョンは最新のものでないとダメです。 $ brew -v Homebrew 0.9.5 $ VirtualBox --help Oracle VM VirtualBox Manager 4.3.6 (C) 2005-2013 Oracle Corporation All ri
Docker イメージの最適化問題 前提 1. 実行環境は頻繁に捨てられる オートスケールでの増減 CodeBuild 使う場合とか サーバーの故障、不具合 ぼくが使ってるゴミクラウドみたいなやつではすっげー頻繁におきてる 前提 2. 面倒なことはしたくない そりゃまあね。 すると? 綺麗に作られた Docker イメージはベースとアプリケーション固有部分が分離していて転送が最適化されるみたいな話はあるんですが、それはそうとして頻繁にベースごと吹き飛ばされるという環境で生活している人は多いのではないかと思う。 このような情勢のもとではいろいろ頑張って最適化したところでダメなときはダメだしみたいな話になってくる。 というわけでなのでこのへんあんまり神経質にやる必要はないと思う。普通に書けばまあ普通にある程度キャッシュされますよ以上のことを考えなくていいんじゃないかな。そういうところ神経質に気
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く