魔法少女くにゅくにゅ a.k.a. 椚座 淳介 @kunukunu 妻に,家を建て直すとき,1人1コンテナという風にしたら個室ごとの干渉がなくて快適じゃね?生活スタイルに合わなくなったらコンテナ単位で改築できるしモジュラーな設計でよくね?という提案をしてみたんだけど,家はDockerじゃねえんだよ普通に建てろやカスみたいな反応が返ってきた。 2020-11-13 23:23:48
概要 Docker Documentation にある、Best practices for writing Dockerfiles の参考日本語訳です。ドキュメントは、2019年5月31日現在のカレントである Docker v18.09 (current) です。 背景 ―― 以前の翻訳から時間が経過し、全体的に手直ししたいものの、差分が大きすぎる状況です。そのため、リファレンスや重要性の高いものから優先的に着手することにしました。 スライド資料 背景やヒント、図解などを追加した補足用スライドを作成しました Dockerfile を書くためのベストプラクティス解説編 BuildKitなどの最新機能や Dockerfile の記述例については、こちらのスライドをご覧ください。 Dockerfileを改善するためのBest Practice 2019年版 Dockerfile を書くためのベ
Docker for Mac での dockerd のログの見方についてのメモです。Docker for Mac の 17.03.1-ce-mac12 で確認しています。公式に載っている方法ではないので今後使えなくなる可能性があります。自分はDocker レジストリとの間で問題があった際のトラブルシュートに使いました。 ログレベルの設定 Dockerのアイコン -> Preferences -> Daemon -> Advanced で JSON 形式で設定を記述します。デバッグログの出力は下記のように debug を true に設定し Restart するだけです。 ログレベルをdebug以外に設定したい場合は個別にlog-levelという値で設定します。その他の詳細な設定は公式ドキュメントの Daemon CLI reference (dockerd) をご覧ください。 ログを見る
.dockerignoreとは Dockerfileからイメージをビルドする場合、Dockerfileの存在するディレクトリの中身はtarで固められdaemonへと送られます。 $ ls -la total 2097168 drwxr-xr-x 5 muni staff 170 3 7 12:40 . drwxr-xr-x 8 muni staff 272 3 10 15:19 .. -rw-r--r-- 1 muni staff 76 2 16 17:04 Dockerfile -rw-r--r-- 1 muni staff 18 2 16 10:10 docker-compose.yml -rw-r--r-- 1 muni staff 1073741824 2 16 10:04 dummy.file $ cat Dockerfile FROM debian:jessie $ time
「Kubernetesってなあに?」と娘に聞かれたお父さん。「Kuberenetsは、Dockerコンテナ群をオーケストレーションするためのオープンソースのシステムだよ」と答えたお父さんが作ったのが、この絵本です。 Dockerコンテナの普及とともに、コンテナをクラスタ化した際の運用管理ツールの重要性も高まってきています。Kubernetesはそうした運用管理ツールの1つです。 しかしKubernetesの仕組みと機能はやや複雑です。そこで、分かりやすくKubernetesを紹介しようと、KubernetesをベースにしたPaaS基盤ソフトウェアを開発しているDeis,Incが公開した動画が「The Illustrated Children's Guide to Kubernetes」(よい子のためのKubernetes絵本)です。 もちろん題名はある種のジョークで、中身はきちんとKube
Docerの1コンテナ上で複数のサービスを動かす場合、supervisordが便利。 しかし、デフォルトの設定では標準出力、標準エラー出力にログが出力されない。 コンテナ内のログを取得する必要があるとき、利用するには少し辛い。 通常だとサービスの標準出力、標準エラー出力は以下のディレクトリなどに出力されてしまう。(apt-getでsupervisorを入れた場合) /var/log/supervisor/xxx.log supervisor_stdout (python2オンリー)を入れる方法もあるが、 https://github.com/coderanger/supervisor-stdout 標準オプションで出力できるので、こちらを使うのがオススメ。 http://veithen.github.io/2015/01/08/supervisord-redirecting-stdout.
前回はPyCharmで単体のDockerfileを使う内容の記事でしたが、実際の開発だとDocker Composeを使うことが多いかなと思います。 そこで、今回はDocker Composeを使ってDjangoアプリを動かしてみました。 ちなみにサンプルコードよりも実践的な内容にしたかったので、PyCon JP 2016のWebサイトを動かしていきます。 手順 ざっくりした手順は下記。 Docker環境の準備(前回と同じ) ソースコード一式をcloneして、PyCharmで開く PyCharmでInterpreterの設定 Run Configurationの設定 Djangoアプリの初期設定を行い、実行する Docker環境の準備 まず、前回同様Dockerインストール済みの環境を用意します。 さくっとdocker-machineでやりました。 [alpaca]~/github/pyc
ども、大瀧です。 昨日から開催されているDockercon 17では、Docker関連の多くの発表がありました。 その中のひとつにMobyプロジェクトがあり、プロジェクト発足に合わせてGitHubのdocker/dockerリポジトリがmoby/mobyリポジトリに移動しました。今後Docker CE(Community Edition)のソースやIssueなどを見るときは、こちらのリポジトリにアクセスしましょう。 このブログでお伝えしたいことは以上なのですが、「Mobyってなんだよ?!Dockerが名称変更したの?」と言われそうなので、ちょっとだけ解説します。経緯についての一次情報は、以下をご覧ください。 Transitioning to Moby by shykes · Pull Request #32691 · moby/moby ほどなくちゃんとした説明がDocker社のブログなど
しばらく時間が空くと忘れてしまうので備忘録。 dockerでmysqlサーバーを立てた時にありがちなパターンをまとめた。 今回はmysqlの公式イメージを使う前提。 起動時に初期データとユーザー追加起動時にテーブルを作成したり、データを追加したい時、ユーザーを追加しておきたい時。 例えば、以下のようなユーザー追加と初期データ追加用のsqlファイルを任意のディレクトリ(今回はinit.dにしておく)に置いておき、 #! /bin/bash CREATE_USER='mysql' CREATE_PASSWORD='secret' GRANT="GRANT ALL ON ${MYSQL_DATABASE}.* TO ${CREATE_USER}@'%' IDENTIFIED BY ${CREATE_PASSWORD}; FLUSH PRIVILEGES" echo $GRANT | mysql
Snappy Ubuntu Core Snappy Ubuntu Coreは「最軽量のUbuntu OS」であり、前述で紹介した2つの製品よりもさらに「最小構成」であることに注力されている製品である。Snappy Ubuntu Coreは、PCやスマートフォンよりもさらにリソースが少ないIoT(Internet of Things:モノのインターネット)での利用も想定されているため、「最軽量」を意識していると考えられる。 前述のように、Snappy Ubuntu Coreは「最軽量のUbuntu OS」である。使用を開始するためには、まずフレームワークをインストールする必要がある。OS+フレームワークの組み合わせにより、様々なアプリケーションの稼働環境を最低限の手順とリソースで構築可能となっている。本記事執筆時点では、提供されているフレームワークはDockerのみだが、今後フレームワークが
Dockerのネットワーク構成について整理する。 図1: Dockerネットワーク全体図 物理NICが1個ついたDockerホストに2つのコンテナを立てると、図1のようになる。コンテナは172.17.X.Xのネットワーク内にいて、ホスト側には172.17.0.1のIPアドレスが付く。この構成自体は、VirtualBoxで言うところのホストオンリーネットワークと同じようなもの。異なる点として、Dockerネットワークは、ハードウェア仮想化ではなく、Linuxカーネルの機能であるvethペアとブリッジを組み合わせて実現される。 図2: vethペア veth (virtual Ethernet) は、図2のように、仮想NICのペアと、それをつなぐ仮想ケーブルを作る機能。ふたつの仮想NICはイーサネットで直接通信できる。 図3: ブリッジ ブリッジとは、LinuxマシンがL2スイッチ(スイッチン
モバイルアプリサービス部の五十嵐です。 Dockerは軽量でポータビリティに優れ、環境を汚さないので開発環境には無くてはならない存在ですよね!今回はまだDockerを使っていない人向けに、私が自分が辿ってきた経験を元に、『こういうシーンでDockerを使うと便利』というのをステップ・バイ・ステップで説明していきます。 対象読者 Dockerはなんとなく知っていて興味はあるけど、使い所や導入するメリットが分からないという人を対象にしています。 環境 Docker for Mac(Docker 1.12.3) Dockerについて Dockerは複数のコンポーネントからなるプラットフォームですが、本記事では主にDocker EngineのことをDockerと呼びます。 Dockerはコンテナと呼ばれる仮想化技術を用いています。従来の仮想化技術と異なる点は、ホストのカーネルをコンテナと共有し、ホ
Microsoft Learn. Spark possibility. Build skills that open doors. See all you can do with documentation, hands-on training, and certifications to help you get the most from Microsoft products. Learn by doing Gain the skills you can apply to everyday situations through hands-on training personalized to your needs, at your own pace or with our global network of learning partners. Take training Find
こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 先日の記事のように、Dockerの技術書『Docker実戦活用ガイド』を出版しましたが、その際調査のために多くのDocker書籍に目を通しましたので紹介します。 Dockerは一瞬で起動できる仮想環境(コンテナ)ツールです。 環境をDockerイメージとして保存・再利用できる、シンプルで使い易い、アプリケーションのデプロイを容易にする、周辺ツール(クラスタ・クラウド・インストーラなど)が充実していることから、リリースされてから数年で一気に有名になりました。 Dockerの発展スピードは速いですが、最近はDocker社自身による関連ツールやサービスが一通り出揃ってきています。 今後も発展していくと思いますが、基本的な方向性としては大きく変わらないとも思います。 今Dockerについて学ぶのはタイミングとしては良いか
みなさん,Docker使ってますか? 開発環境に導入する話はよく聞きますが,本番Dockerで運用してますか? 本番をDockerにする上で障壁になりそうなホットデプロイ. 普段,コンテナではなくインスタンス上で直接サービスを動かしている限り,そこまで苦労はしていないんじゃないだろうか. たとえば,Railsであればunicornなどは,graceful restartに対応している. そのため,デプロイの際にサービスを止めずにデプロイすることができるのは,当たり前のことに思える. しかし,Dockerとなると,ポートという障壁が出てきて,一筋縄ではいかない. ECSのような楽な解決方法がある一方で,Docker swarmを使うようなシーンでは,やはり一筋縄ではいかないのではないだろうか. お題 本番にDockerを導入するにあたり,以下のような環境を前提として試していた. 中に入れるの
賢い読者はお気づきだと思いますが、このページの情報は2年前ぐらいの記事です。古いのでオススメしません。Docker for mac とかない時代っぽい時期の個人的なメモです 今更ながらDocker始めてみた。モチベーションとしては、Sparkとか試すために、手元に仮想環境がほしいから。なので、Immutable Infrastructureとか、KubernetesとかPackerはもちろん、Dockerfileとかにも踏み込まず、Dockerを始めてみる Docker始めるにあたり読んだ記事 15分で分か(った気になれ)るDocker "Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する いまさら聞けないDocker入門(2):ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方 (1/3) - @IT Do
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く