サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
docs.docker.jp
Linux 上では、 Docker は ネットワークの分離(network isolation) のために iptables ルールを操作します。これは実装の詳細であり、 Docker が追加する iptables ポリシーを変更すべきではありません。しかしながら、 Docker によって管理されている追加されたポリシーを、自分自身で変更したい場合には、いくつかの影響が発生する可能性があります。 Docker を実行しているホストをインターネット上に公開している場合、コンテナやホスト上で実行しているサービスに対する許可のない接続を防ぐように、おそらく何らかの iptables ポリシーを追加しようとするでしょう。これをどのようにして行うか、そして、気を付けるべき警告について、このページで扱います。 iptables ポリシーは Docker 用ルールの前に追加¶ Docker は2つのカス
Compose ファイルはとは、Docker アプリケーションの サービス(service) 、 ネットワーク(network) 、 ボリューム(volume) を定義する YAML ファイルです。 これらのリファレンスは、各バージョンに対応する Compose ファイル形式を説明します。 リファレンス・ファイル 対象バージョンの変更点
このドキュメントは、効率的なイメージ構築のために推奨するベストプラクティスを扱います。 Docker は Dockerfile に書かれた命令を読み込み、自動的にイメージを構築します。 Dockerfile はイメージを構築するために必要な全ての命令を、順番通りに記述したテキストファイルです。 Dockerfile は特定の書式と命令群に忠実であり、それらは Dockerfile リファレンス で確認できます。 Dockerfile の命令に相当する読み込み専用のレイヤによって、 Docker イメージは構成されます。それぞれのレイヤは直前のレイヤから変更した差分であり、これらのレイヤは積み重なっています。次の Dockerfile を見ましょう。 命令ごとに1つのレイヤを作成します。 FROM は ubuntu:18.04 の Docker イメージからレイヤを作成 COPY は現在のデ
複数の環境変数がある場合、デフォルトでは .env というファイル名で展開したい変数を記述できます。あるいは、 --env-file コマンドラインのオプションを使って、環境変数ファイルのパスを指定できます。 設定のオプションに、環境変数の値を含められます。Compose は実行時、 docker compose を実行するシェルの環境変数にある値を使います。たとえば、シェル(の環境変数)に POSTGRES_VERSION=9.3 を含んでいるとすると、これを設定に対応させられます。
マルチステージ ビルド(multi-stage build) とは、Dockerfile の読みやすさやメンテナンスのしやすさを維持するよう、最適化に悩まされている全ての人に役立ちます。 マルチステージ ビルドが出る以前¶ イメージ構築にあたり最もチャレンジングなものの1つに、イメージ容量を小さくし続けるというものがあります。Dockerfile 中の命令ごとにイメージにレイヤーを追加するため、次のレイヤーへと移る前に、不要なアーティファクト(訳者注:構築処理によって作成されたイメージ等)を忘れずクリーンアップし続ける必要があります。これまで本当に効率的な Dockerfile を書くためには、以降のレイヤーで必要になるアーティファクトのみを保持するために、シェル芸(shell tricks)を駆使する必要と、レイヤーを維持するロジックを用いる必要がありました。 実際にとても一般的になった
Docker 17.03 CE Edge は docker run -v 、 --volume オプションに、新しい2つのフラグ cached と delegated のサポートを追加しました。これは Docker Desktop for Mac がマウントしたボリュームに対し、アクセス性能を著しく改善する可能性があります。これらオプションは パフォーマンス問題、ソリューション、ロードマップ における課題の議論と同じくして始まったものです。 ホストコンテナのファイルシステム一貫性とパフォーマンスの密接な関係¶ macOS や Windows を含む、数々のプラットフォーム上で Docker が利用できるようになり、コンテナ実行時にマウントに関連するワークロード(作業負荷)を最適化する必要性が一般化しました。 現時点で Linux 上のマウントに関する実装とは、コンテナ内にホスト側と一貫性し
Linux 名前空間(namespace)は実行中のプロセスに対する隔離(isolate)を提供し、システムリソースに対するアクセスを制限しますが、実行中のプロセスは制限されていることが分かりません。Linux 名前空間に関する情報は、 Linux namespaces をご覧ください。 コンテナ内部からの権限昇格による攻撃を防ぐ最大の方法は、コンテナのアプリケーションを非特権ユーザで実行することです。 コンテナ内において、プロセスを root ユーザで実行しなければならない場合は、この root ユーザを、Docker ホスト上のより権限の少ないユーザに再割り当て(re-map)します。 名前空間内では通常 0 から 65536 という範囲の UID が正しく機能しますが、割り当て対象のユーザには、この範囲内で UID を定めます。 ただしこの UID はホストマシン上では何の権限もない
VPN パススルー¶ Docker Desktop のネットワーク構築は、VPN 接続時も動作します。そのためには、あたかも Docker アプリケーションが発信しているかのように、Docker Desktop がコンテナからのトラフィックを取り込み、Mac へ投入します。
Docker Desktop で Linux コンテナとイメージを保管するのは、Mac ファイルシステム内の単一の大きな「ディスク・イメージ」ファイルです。これは Linux 上の Docker が /var/lib/docker ディレクトリにコンテナとイメージを保管するのと異なります。 ディスクイメージファイルはどこに?¶ ディスクイメージファイルの場所をさがすには、 Docker アイコンから Preferences > Resources > Advanced を選択します。 Advanced タブに、ディスクイメージの場所が表示されています。 またディスクイメージの最大サイズや、現在消費しているディスクイメージ容量も表示されています。 なおファイルの利用容量のことを最大ファイルサイズと表現しているツールがありますが、実際のファイルサイズとして表現していないから誤りです。
Docker は使用していないオブジェクト、たとえばイメージ、コンテナ、ボリューム、ネットワークに対するクリーンアップには、慎重なアプローチをとっています。すなわち、各オブジェクトは Docker に対して明示的に削除を命令しない限り、削除されることはありません。その結果、Docker は巨大なディスク容量を使う事になりました。オブジェクトのタイプごとに、 Docker は prune (削除)コマンドを提供しています。さらに、 docker system prune を使えば、複数のオブジェクト・タイプを一度にクリーンアップできます。このトピックは各 prune コマンドをどのようにして使うか紹介します。
Docker Desktop for Windows は、Mirosoft Windows 用の Docker コミュニティ 版です。Docker Desktop for Windows は Docker Hub からダウンロードできます。 このページは、Docker Desktop を Windows 10 Pro、Enterprise、Education にインストールするための情報です。Docker Desktop を Windows 10 Home にインストールする情報をお探しであれば、 Windows Home に Docker Desktop をインストール をご覧ください。 Docker Hub からダウンロード Docker Desktop のダウンロード中に、 Docker Software End User License Agreement と Docker Dat
新しい Docker Desktop WSL 2 バックエンドは、Docker Desktop WSL 2 Tech Preview の後を継ぐものです。WSL2 バックエンド・アーキテクチャは Kubernetes 向けのサポートを導入し、更新版 Docker デーモンの提供、VPN と親和性のあるネットワーク機能や追加機能を提供します。WSL 2 は構造上の著しい変更をもたらします。Microsoft によってビルドされた完全な Linux カーネルによって、エミュレーションではなく、ネイティブに Linux コンテナを実行可能になります。WSL 2 上で Docker Desktop を実行しますと、利用者は Linux ワークスペースを活用できるようになり、また、ビルド用スクリプトは Windows 用と Linux 用との両方を準備する必要がなくなります。 また、Docker D
Windows Home マシンで WSL2 バックエンドを使うと、Docker Desktop をインストールできます。Docker Desktop on Windows Home は、Linux コンテナ開発用の Docker Desktop の完全なバージョンです。 このページは、Docker Desktop を Windows 10 Home にインストールするための情報です。Docker Desktop を Windows 10 Pro、Enterprise、Education にインストールする情報をお探しであれば、 Windows に Docker Desktop をインストール をご覧ください。 Docker Hub からダウンロード Docker Desktop on Windows Home を使えば、以下の利点があります: Windows Home マシン上で、最新版
Guides - ガイド Docker の入手 Get started - 始めましょう Docker で開発 プロダクションでアプリを実行 Product manuals - マニュアル Docker Engine Docker Compose Docker Desktop 概要 Mac Mac に Docker Desktop をインストール Docker for Mac を始めよう Kubernetes 上にデプロイ Docker Desktop for Mac と Docker Toolbox の比較 マルチ CPU アーキテクチャのサポートを活用 Buildx [実験的機能] ネットワーク構築機能 ファイルシステム共有 [osxfs] ボリューム・マウント(共有ファイルシステム)のためのパフォーマンス・チューニング Docker for Mac におけるディスク使用 ログとトラブ
Docker Build は Docker Engine で最も使われる機能の1つです。利用者、開発チーム、リリースチームに至る利用者の全てが Docker Build を使います。 リリース 18.09 では、強く求められていた構築方式が見直され、 Docker Build の拡張が導入されました。利用者は BuildKit(ビルドキット) との統合により、性能、ストレージ管理、際立つ機能性、セキュリティの改善を目の当たりにするでしょう。 BuildKit が作成した Docker イメージは、これまでの構築で作成した Docker イメージ同様、 Docker Hub に送信可能 Dockerfile の書式は、従来の構築用だけでなく、 BuitKit による構築でも動作 Dockerfile で新しいイメージの構築時、新しい --secret コマンドライン オプションを使えば、 機
Rootless モード(Rootless mode)は Docker デーモンとコンテナを root 以外のユーザが実行できるようにするもので、デーモンやコンテナ・ランタイムにおける潜在的な脆弱性を回避します。 Rootless モードは Docker デーモンのインストールに root 権限を必要としないだけでなく、 事前準備 においても不要です。 Rootless モードは Docker Engine v19.03 から導入されました。
このトピックでは、効率的なイメージ構築を目的とした、ベストプラクティスと手法についてのアドバイスを扱います。 Docker は Dockerfile に書かれた命令を読み込み、自動的にイメージを 構築(build) します。この Dockerfile とはテキスト形式のファイルであり、イメージを構築するために必要となる、全ての命令を順番通りに記述します。 Dockerfile は特定の書式と命令群に忠実であり、それらは Dockerfile リファレンス で確認できます。 Docker イメージを構成するのは、 Dockerfile の各命令に相当する、読み込み専用のレイヤ群です。それぞれのレイヤは直前のレイヤから変更した差分であり、これらのレイヤが積み重なっています。以下は Dockerfile 例の内容です。 命令ごとに1つのレイヤを作成します。 FROM は ubuntu:22.04
eg_sshd イメージの構築¶ 以下の Dockerfile はコンテナ内に SSHd サービスをセットアップします。これは他のコンテナ用ボリュームの調査や、テスト用コンテナに対する迅速なアクセスを提供します。 # sshd # # VERSION 0.0.2 FROM ubuntu:14.04 MAINTAINER Sven Dowideit <SvenDowideit@docker.com> RUN apt-get update && apt-get install -y openssh-server RUN mkdir /var/run/sshd RUN echo 'root:screencast' | chpasswd RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/ssh
Docker Compose コマンドラインでの挙動を、いくつかの環境変数で設定できます。 DOCKER_ で始まる環境変数は、Docker コマンドラインでの設定に使うだけでなく、 Docker Compose のコマンドラインでも同様に使います。 docker-machine を使う場合は、 eval "$(docker-machine env my-docker-vm)" コマンドによって、適切な値を環境変数に指定します(この例では、 my-docker-vm は作成する仮想マシン名です)。 COMPOSE_PROJECT_NAME¶ プロジェクト名を設定します。このプロジェクト名としての値とサービス名が、起動するコンテナの名前に付けられます。たとえば、プロジェクト名は myapp で、 db と web という2つのサービスがあるとすると、Compose は myapp_db_1
このチュートリアルは Docker Engine Swarm モードの機能を紹介します。始める前に、よろしければ 重要な概念 に慣れておいてください。 このチュートリアルは以下の作業を紹介します。 Docker Engine の swarm モードでクラスタを初期化 swarm にノードを追加 アプリケーション・サービスを swarm にデプロイ swarm を使い始めた後の管理 このチュートリアルは、ターミナル・ウインドウのコマンドライン上で Docker Engine CLI コマンドを実行します。 Docker を初めて使う場合は、 Docker Engine について をご覧ください。 接続した3台のマシン¶ このチュートリアルでは、 Docker がインストール済みで、ネットワーク上で通信可能な Linux ホストが3台必要です。これらは物理マシン、仮想マシン、Amazon EC
重要 Docker Desktop の利用条件変更 現在、大企業(従業員が 251 人以上、または、年間収入が 1,000 万米ドル以上 )における Docker Desktop の商用利用には、有料サブスクリプション契約が必要です。 ようこそ! 皆さんが Docker を学ぼうとしており、私たちは嬉しく思います。 このページでは段階的な手順に従って、Docker の始め方を学びます。このチュートリアルで、以下の内容を学べます。 コンテナとして、イメージの構築と実行 Docker Hub を使ったイメージ共有 データベースがある複数のコンテナを使う Docker アプリケーションをデプロイ Docker Compose を使ってアプリケーションを実行 さらに、イメージ構築のベストプラクティスも学べます。これには、イメージのセキュリティ脆弱性を調べる(スキャンする)手順も含みます。 好きな言
補足説明¶ docker run コマンドは、まず指定されたイメージ上に書き込み可能なコンテナ・レイヤを create (作成)します。それから、指定されたコマンドを使って start (開始)します。この docker run は、 API の /containers/create の後で /containers/(id)/start を実行するのと同じです。以前に使っていたコンテナは docker start で再起動できます。全てのコンテナを表示するには docker ps -a を使います。 docker run コマンドは、 コンテナの内容を確定するため に、 docker commit コマンドと連携して使えます。 コンテナをネットワークで接続する詳細については、 Docker ネットワーク概要 をご覧ください。 コマンドの使用例は、以下の 使用例のセクション をご覧ください。
Docker Engine Docker Engine Docker Swarm Docker Swarm Docker Compose Docker Compose Docker Compose Docker Compose 概要 Docker Compose のインストール Compose を始めましょう クイックスタート・ガイド:Compose と Django クイックスタート・ガイド:Compose と Rails クイックスタート・ガイド:Compose と Wordpress サービスの拡張と Compose ファイル Compose のネットワーク機能 Compose をプロダクションで使う Compose ファイル・リファレンス コマンドライン・リファレンス Compose CLI リファレンス Compose CLI 入門 docker-compose コマンド 次はど
Compose ファイルは YAML ファイルであり、 サービス(services) 、 ネットワーク(networks) 、 ボリューム(volumes) を定義します。Compose ファイルのデフォルトのパスは ./docker-compose.yml です。 サービスの定義では、各コンテナをサービスとして定義できます。このサービスを起動する時、コマンドラインの docker run のパラメータのような指定が可能です。同様に、ネットワークやボリュームの定義も docker network create や docker volume create と似ています。 docker run では、 Dockerfile で指定したオプション(例: CMD 、 EXPOSE 、 VOLUME 、ENV )はデフォルトとして尊重されます。そのため、 docker-compose.yml で再
Guides - ガイド Docker 概要 Docker の入手 始め方 - Get started Docker Desktop ハンズオン ガイド 言語別ガイド Docker で開発 Docker で構築 プロダクションでアプリを実行 教育用リソース Product manuals - マニュアル Docker Desktop Docker Engine Docker Compose Docker Hub Docker Registry Reference - 参考資料 リファレンス・参考資料 コマンドライン・リファレンス Docker CLI (docker) Docker Compose CLIリファレンス docker-compose CLI 概要 Compose CLI 環境変数 コマンドライン補完 コマンドライン補完のインストール Bash Zsh 利用可能な補完について
Docker EE を利用する方は¶ Docker エンタープライズ・エディション(Docker Enterprise Edition; EE)をインストールする場合は、 このページではなく Docer EE の入手(CentOS 向け) に進んでください。 Docker EE の詳細を学ぶには、 Docker エンタープライズ・エディション をご覧ください。 OS 要件¶ Docker CE をインストールするには、保守対象の CentOS 7 が必要です。 古いバージョンはサポートもテストも行っていません。 centos-extras リポジトリを有効にすることが必要です。 このリポジトリはデフォルトでは有効になっていますが、もし無効にしている場合は、 もう一度有効に する必要があります。
Guides - ガイド Docker 概要 Docker の入手 始め方 - Get started Docker Desktop ハンズオン ガイド 言語別ガイド Docker で開発 Docker で構築 プロダクションでアプリを実行 教育用リソース Product manuals - マニュアル Docker Desktop Docker Engine Docker Compose Docker Hub Docker Registry Reference - 参考資料 リファレンス・参考資料 コマンドライン・リファレンス Dockerfile リファレンス Compose ファイル リファレンス 用語集 Samples - サンプル サンプル Docker について リリース・ノート 日本語版について Docker ドキュメント逆引きガイド Docker ドキュメント日本語版 PD
Docker は Dockerfile の命令を読み込み、自動的にイメージを構築できます。これはテキストファイルであり、特定のイメージを構築するために必要な全ての命令が入っています。 Dockerfile は個別の命令セットを使い、特定の形式で記述します。基本は Dockerfile リファレンス で学べます。新しく Dockerfile を書こうとしているのであれば、そのリファレンスから出発しましょう。 このドキュメントは Docker 社が推奨するベストプラクティスや手法を扱っており、Docker コミュニティが簡単かつ効率的に Dockerfile を作成できるようにします。この推奨方法に従うことを強く勧めます(実際、公式イメージを作成するには、これらのプラクティスに従う 必要 があります)。 多くのベストプラクティスや推奨する手法は、 buildpack-deps の Docker
Docker を始めましょう - 導入ガイド Linux Windows Mac OS X Docker Engine Docker Engine Docker Engine クイックスタート アーキテクチャの理解 Docker Engine について インストール Docker Engine ユーザガイド 管理 安全な Engine Engine の拡張 アプリケーションの Docker 化 アプリケーションの Docker 化 MongoDB の Docker 化 PostgreSQL の Docker 化 CouchDB サービスの Docker 化 Couchbase サービスの Docker 化 Node.js ウェブ・アプリの Docker 化 Node.js アプリの作成 Dockerfile の作成 イメージを構築 イメージの実行 テスト Redis サービスの Docke
次のページ
このページを最初にブックマークしてみませんか?
『Docker ドキュメント日本語化プロジェクト — Docker-docs-ja 24.0 ドキュメント』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く