[{"data":1,"prerenderedAt":1581},["ShallowReactive",2],{"/ja-jp/blog/what-is-docker":3,"navigation-ja-jp":805,"banner-ja-jp":1234,"footer-ja-jp":1242,"blog-post-authors-ja-jp-GitLab Team":1481,"blog-related-posts-ja-jp-what-is-docker":1497,"blog-promotions-ja-jp":1519,"next-steps-ja-jp":1572},{"id":4,"title":5,"authors":6,"body":8,"category":778,"date":779,"description":780,"extension":781,"externalUrl":782,"faq":782,"featured":783,"heroImage":784,"meta":785,"navigation":783,"path":786,"seo":787,"slug":791,"stem":792,"tags":793,"template":802,"updatedDate":803,"__hash__":804},"blogPosts/ja-jp/blog/what-is-docker.md","【入門編】Dockerとは？特徴や仮想マシンとの違い、導入方法を解説",[7],"GitLab Team",{"type":9,"value":10,"toc":730},"minimark",[11,15,18,23,30,33,38,41,44,63,66,70,73,76,79,87,91,97,100,103,134,138,144,147,161,165,168,171,175,178,181,185,188,191,195,198,201,205,208,232,235,239,245,248,252,255,323,327,330,382,386,392,395,406,410,419,428,431,435,438,441,445,448,451,455,461,464,468,471,475,478,482,485,489,492,496,502,505,509,512,516,519,523,526,530,533,537,540,544,553,562,571,580,583,587,593,596,600,603,623,636,640,643,657,661,675,679,682,696,700,703,714,718,721],[12,13,14],"p",{},"Dockerコンテナ技術は、2013年にオープンソースの「Dockerエンジン」として公開され、翌年2014年には本番環境向けの商用版が発表されました。その後約10年の間に、Dockerは使いやすさと高い利便性から、IT業界で瞬く間に広く普及してきました。これからもその人気は高まっていくでしょう。",[12,16,17],{},"しかしその一方で、いまだに「Dockerとは何ですか」という声もよく耳にします。この記事では、Docker環境の導入を検討中で、Dockerにまだ不慣れなデベロッパーやプログラマーの皆様を対象に、Dockerの基本を解説します。Dockerに触れたことのない初心者向けの「Docker超入門編」です。",[19,20,22],"h2",{"id":21},"_1-dockerの基礎知識","1. Dockerの基礎知識",[12,24,25],{},[26,27],"img",{"alt":28,"src":29},"Dockerの基礎知識","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782445360/ype2esotugprlfiuzt3b.jpg",[12,31,32],{},"まずはDockerの概要や特徴、仮想マシンとの違いについて詳しく解説します。",[34,35,37],"h3",{"id":36},"_1-1-dockerとは","1-1. Dockerとは",[12,39,40],{},"Dockerは、Linuxのコンテナ技術を用いた軽量なソフトウェアコンテナプラットフォームです。Dockerを活用することで1台のサーバー上で複数のアプリケーションの実行環境を手軽に作成・運用でき、環境の均一化も図れるため、開発作業をスムーズに進められます。",[12,42,43],{},"Dockerの特徴を簡単にまとめると以下の通りです。",[12,45,46,47,50,51,53,54,56,57,59,60,62],{},"・軽量かつ高速",[48,49],"br",{},"\n→1つのOSで複数のコンテナを管理でき、起動時間の短縮化を図れる。",[48,52],{},"\n・環境の一貫性・再現性の保持",[48,55],{},"\n→環境の違いによる不具合を解消し、一貫性・再現性を保持することができる。",[48,58],{},"\n・サンドボックスの提供",[48,61],{},"\n→隔離された仮想環境でプログラムを実行・検証できる。",[12,64,65],{},"Dockerは2013年にdotCloud社によってリリースされ、アプリケーションの開発からデプロイ、実行をスムーズに行えるという利便性から多くの企業や開発現場で導入されています。",[34,67,69],{"id":68},"_1-2-dockerと仮想マシンとの違い","1-2. Dockerと仮想マシンとの違い",[12,71,72],{},"Dockerと似た技術として仮想マシンとの違いも理解しておくことが大切です。",[12,74,75],{},"仮想マシンは、1つの物理マシン内に仮想化ソフトウェアを利用して複数のOS（ゲストOS）を仮想的に動作させる技術になります。一方、DockerはホストOSのカーネルを共有して利用することからゲストOSは不要になります。そのため、仮想マシンより軽快な動作を実現でき、運用コストの削減にも繋げられます。",[12,77,78],{},"Dockerは、開発環境の立ち上げからテスト、デプロイまでを高速化したいケースに適しています。",[12,80,81],{},[82,83,86],"a",{"href":84,"rel":85},"https://about.gitlab.com/ja-jp/blog/what-is-vm/",[],"仮想マシン（VM）とは？意味や導入メリット、GitLab活用例",[19,88,90],{"id":89},"_2-docker-composeとは","2. Docker Composeとは",[12,92,93],{},[26,94],{"alt":95,"src":96},"Docker Composeとは","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782445362/cruuocgtgfjje9v8dlak.jpg",[12,98,99],{},"Docker Composeは、複数のDockerコンテナを一元管理する、Dockerアプリケーションのためのツールです。YAMLファイルを使用してアプリケーションのサービスを設定します。単一のコマンドで複数のサービスをまとめて生成したり、起動・停止したりすることができます。",[12,101,102],{},"Docker Composeのコマンド例は次の通りです。",[104,105,106,118,126],"ul",{},[107,108,109,117],"li",{},[110,111,112,116],"strong",{},[113,114,115],"code",{},"docker-compose up","："," サービス用のコンテナを構築、作成、起動、アタッチします。リンクされているサービスがまだ起動していない場合は、それらも起動します。",[107,119,120,125],{},[110,121,122,116],{},[113,123,124],{},"docker-compose ps"," Docker Composeで管理されている稼働中のサービスを一覧表示します。",[107,127,128,133],{},[110,129,130,116],{},[113,131,132],{},"docker-compose build"," Docker Composeファイルで定義されているサービスをビルド（構築）します。",[19,135,137],{"id":136},"_3-dockerを構成する要素","3. Dockerを構成する要素",[12,139,140],{},[26,141],{"alt":142,"src":143},"Dockerを構成する要素","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782445361/n0ccuxltguog6bvfsd8u.jpg",[12,145,146],{},"Dockerの主な構成要素についてそれぞれ解説していきます。",[104,148,149,152,155,158],{},[107,150,151],{},"Dockerコンテナ",[107,153,154],{},"Dockerイメージ",[107,156,157],{},"Dockerfile",[107,159,160],{},"DockerHub（Dockerレジストリ）",[34,162,164],{"id":163},"_3-1-dockerコンテナ","3-1. Dockerコンテナ",[12,166,167],{},"Dockerコンテナとは、アプリケーションを動作させるために必要なライブラリや設定ファイルなどを一つにまとめた実行環境を指します。",[12,169,170],{},"生成された各コンテナは互いに独立した状態であり、1つのサーバー上で複数のアプリケーションを同時に動作させることが可能です。また、運用の利便性向上の観点からコンテナに任意で名前を指定することもできます。",[34,172,174],{"id":173},"_3-2-dockerイメージ","3-2. Dockerイメージ",[12,176,177],{},"Dockerイメージは、上記で解説したコンテナを作成するための「設計図」です。アプリケーションを実行する際に必要な情報がまとめられています。",[12,179,180],{},"Dockerイメージを作成しておくことで、どこでも同じ環境を簡単に複製できます。つまり、イメージを共有すればソフトウェアのインストール後に行う細かな初期設定を省略することができるのです。",[34,182,184],{"id":183},"_3-3-dockerfile","3-3. Dockerfile",[12,186,187],{},"Dockerfileは、Dockerイメージを作成するためのテキストファイルのことで、インストールするソフトウェアや実行コマンドなどを記述します。",[12,189,190],{},"環境構築の手順を記述・管理しておくことで、環境構築における一連の作業を自動化できます。また、チームメンバーの誰もが同じ環境を容易に構築できるメリットもあります。",[34,192,194],{"id":193},"_3-4-docker-hubdockerレジストリ","3-4. Docker Hub（Dockerレジストリ）",[12,196,197],{},"Docker Hubは、Dockerイメージを保管・共有できるDocker社が提供するサービスです。",[12,199,200],{},"Docker Hubでは、自身で作成したイメージだけでなく、ベンダーが公式で公開しているイメージや、第三者が作成したイメージも利用できます。開発者はそれらをダウンロードして利用することで、容易に開発環境の構築を行えます。",[19,202,204],{"id":203},"_4-dockerのインストール方法windows","4. Dockerのインストール方法【Windows】",[12,206,207],{},"Dockerの環境構築は公式サイトから行えます。以下では、Windowsを例に「Docker Desktop for Windows」をダウンロードしてインストールする手順を紹介します。",[209,210,211,220,223,226,229],"ol",{},[107,212,213,214,219],{},"Dockerの",[82,215,218],{"href":216,"rel":217},"https://www.docker.com/ja-jp/",[],"公式ページ","へアクセスする",[107,221,222],{},"トップページにある「Docker Desktopをダウンロードする」にカーソルを当てる",[107,224,225],{},"「Windows用をダウンロード - AMD64」をクリック",[107,227,228],{},"ダウンロードされた「Docker Desktop Installer」をダブルクリックして実行する",[107,230,231],{},"インストール後、画面中央の「Close」をクリックして完了",[12,233,234],{},"インストール後はパソコンが再起動され、Dockerのアイコンがデスクトップに出現するので、Dockerを起動しライセンス規約への同意など必要な設定を行いましょう。もしインストールできない場合は、システム要件やストレージ容量、ウイルスソフトなどの確認が必要です。",[19,236,238],{"id":237},"_5-dockerの基本コマンド","5. Dockerの基本コマンド",[12,240,241],{},[26,242],{"alt":243,"src":244},"Dockerの基本コマンド","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782445365/jhrg88rb2s0uo4l9jmgx.jpg",[12,246,247],{},"ここでは、Dockerでの開発や運用でよく使うコマンドをまとめましたので参考にして下さい。",[34,249,251],{"id":250},"_5-1-コンテナ操作用","5-1. コンテナ操作用",[12,253,254],{},"コンテナ操作用でよく使用されるコマンド例は以下の通りです。",[256,257,258,271],"table",{},[259,260,261],"thead",{},[262,263,264,268],"tr",{},[265,266,267],"th",{},"目的",[265,269,270],{},"コマンド",[272,273,274,283,291,299,307,315],"tbody",{},[262,275,276,280],{},[277,278,279],"td",{},"コンテナの起動",[277,281,282],{},"docker start コンテナ名",[262,284,285,288],{},[277,286,287],{},"コンテナの停止",[277,289,290],{},"docker stop コンテナ名",[262,292,293,296],{},[277,294,295],{},"コンテナの再起動",[277,297,298],{},"docker restart コンテナ名",[262,300,301,304],{},[277,302,303],{},"コンテナの削除",[277,305,306],{},"docker rm コンテナ名",[262,308,309,312],{},[277,310,311],{},"コンテナの一覧表示",[277,313,314],{},"docker container ls -a",[262,316,317,320],{},[277,318,319],{},"コンテナの強制停止",[277,321,322],{},"docker kill コンテナ名",[34,324,326],{"id":325},"_5-2-dockerイメージ管理用","5-2 Dockerイメージ管理用",[12,328,329],{},"次にDockerイメージ管理用のコマンド例を紹介します。",[256,331,332,340],{},[259,333,334],{},[262,335,336,338],{},[265,337,267],{},[265,339,270],{},[272,341,342,350,358,366,374],{},[262,343,344,347],{},[277,345,346],{},"Dockerイメージのダウンロード（Docker Hub）",[277,348,349],{},"docker image pull イメージ名",[262,351,352,355],{},[277,353,354],{},"Dockerイメージのアップロード（Docker Hub）",[277,356,357],{},"docker image push イメージ名",[262,359,360,363],{},[277,361,362],{},"Dockerイメージの一覧表示",[277,364,365],{},"docker image ls",[262,367,368,371],{},[277,369,370],{},"Dockerイメージの削除",[277,372,373],{},"docker image rm イメージ名",[262,375,376,379],{},[277,377,378],{},"Dockerイメージの履歴表示",[277,380,381],{},"docker image history イメージ名",[19,383,385],{"id":384},"_6-dockerの学習方法","6. Dockerの学習方法",[12,387,388],{},[26,389],{"alt":390,"src":391},"Dockerの学習方法","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782445361/ahyrzbndyevzzpcux1ff.jpg",[12,393,394],{},"Dockerを学習する方法は以下の3つが挙げられます。",[104,396,397,400,403],{},[107,398,399],{},"公式ドキュメントを活用する",[107,401,402],{},"Docker関連の本で学習する",[107,404,405],{},"動画や講座を利用する",[34,407,409],{"id":408},"_6-1-公式ドキュメントを活用する","6-1. 公式ドキュメントを活用する",[12,411,412,413,418],{},"Dockerが公開している",[82,414,417],{"href":415,"rel":416},"https://docs.docker.com/",[],"公式ドキュメント","では、Docker関連の役立つ情報が掲載されています。初心者でも利用できるドキュメントで、Dockerの基礎や導入方法などを学べます。公式ドキュメントであるため、正確な情報を得られるのもメリットです。",[12,420,421,422,427],{},"公式ドキュメントは英語で解説されていますが、有志による",[82,423,426],{"href":424,"rel":425},"https://docs.docker.jp/",[],"日本語翻訳サイト","があるため、積極的な活用をおすすめします。",[12,429,430],{},"また、公式ドキュメント以外でもDockerについてわかりやすく解説されたWebサイトは多数あるため、気になる点はインターネットで調べると良いでしょう。",[34,432,434],{"id":433},"_6-2-docker関連の本で学習する","6-2. Docker関連の本で学習する",[12,436,437],{},"Docker関連の書籍が多数出版されているため、それらを購入して学習する方法もあります。書籍なら体系的に知識を身につけられるメリットがあり、「Dockerの全体像を効率よく学びたい」という人におすすめです。",[12,439,440],{},"基礎から実践レベルまでさまざまな内容の書籍があるため、自分のスキルレベルにあわせて選ぶと良いでしょう。イラストやハンズオンが豊富に含まれている書籍なら初心者でも学びやすいでしょう。",[34,442,444],{"id":443},"_6-3-動画や講座を利用する","6-3. 動画や講座を利用する",[12,446,447],{},"Dockerの学習方法として、オンラインの動画コンテンツや講座を利用する方法も挙げられます。例えば、YouTubeならDockerについて解説された動画が多数公開されており、無料で学べるので初心者にもおすすめです。",[12,449,450],{},"その他、動画学習プラットフォーム「Udemy」でも、Dockerに関する講座を受講できます。Udemyなら講座によってレベルや学習内容が異なるため、自分の目的にあわせて学習を進めることができるでしょう。",[19,452,454],{"id":453},"_7-アプリケーションのデプロイにおけるdockerのメリット","7. アプリケーションのデプロイにおけるDockerのメリット",[12,456,457],{},[26,458],{"alt":459,"src":460},"アプリケーションのデプロイにおけるDockerのメリット","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782445365/dngjsg0souxjqg6bvgb6.jpg",[12,462,463],{},"アプリケーションのデプロイにおけるDockerのメリットは次の通りです。",[34,465,467],{"id":466},"_7-1-開発環境と本番環境のシームレス化","7-1. 開発環境と本番環境のシームレス化",[12,469,470],{},"コンテナ技術の利用を開発環境と本番環境で統一することで、環境の違いにより起こる問題を減らすことができます。その結果、デベロッパーと運用チームとの連携がスムーズに行われ、チーム間で発生していた問題も最小限に抑えられます。",[34,472,474],{"id":473},"_7-2-起動の軽量化処理速度の高速化","7-2.  起動の軽量化・処理速度の高速化",[12,476,477],{},"Dockerのコンテナ技術は従来の仮想環境より軽く、アプリを瞬時に起動できます。これは、CPUやメモリなどのコンピュートリソースを必要最低限しか使用しないためです。起動速度が上がることで、開発にも集中できます。",[34,479,481],{"id":480},"_7-3-バージョン管理のしやすさ","7-3.  バージョン管理のしやすさ",[12,483,484],{},"Dockerでは、GitLabなどのソースコードのバージョン管理ツールを使用できるため、バージョン管理の可視化が進むだけでなく、ロールバックやアップデートも簡単に行えるようになります。",[34,486,488],{"id":487},"_7-4-優れたスケーラビリティ","7-4.  優れたスケーラビリティ",[12,490,491],{},"コンテナは軽量で拡張性に優れています。必要に応じて簡単に増減できます。これにより、アプリケーションの拡張やスケーリングを迅速に行えるため、変わりゆく状況にも柔軟に対応できます。",[19,493,495],{"id":494},"_8-dockerのデメリット","8.  Dockerのデメリット",[12,497,498],{},[26,499],{"alt":500,"src":501},"Dockerのデメリット","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782445361/aalfdlzoqy3av7rdqlml.jpg",[12,503,504],{},"Dockerにはさまざまなメリットがありますが、いくつかデメリットも存在します。以下にデメリットを挙げます。",[34,506,508],{"id":507},"_8-1-1つのosを使わなければならない","8-1. 1つのOSを使わなければならない",[12,510,511],{},"Dockerは1つのOS上で複数のコンテナを作成します。これにより起動速度や処理速度の面でメリットがありますが、同時にデメリットになることもあります。たとえば、異なるOS環境で検証をしたい場合には、別のマシンや仮想マシンを準備する必要が生じます。",[34,513,515],{"id":514},"_8-2-大規模開発時のオーバーヘッド","8-2. 大規模開発時のオーバーヘッド",[12,517,518],{},"Docker自体は軽量ですが、大規模システムに拡張する場合には、Dockerの管理に伴う負荷が発生します。Dockerは1台のサーバーで多数のコンテナを実行できますが、その反面、管理やオーケストレーションが必要になり、その処理のためにオーバーヘッドが生じる場合があります。Dockerだけですべての管理を行なうのが困難になることもあります。",[34,520,522],{"id":521},"_8-3-技能習得に時間がかかる","8-3. 技能習得に時間がかかる",[12,524,525],{},"Dockerは他の仮想マシンと異なる手法で仮想環境を構築します。つまり、デベロッパーは新しいコンセプトをすべてゼロから習得しなければならず、それには時間がかかります。Dockerの動作原理をきちんと理解せずに使用すると、あとでトラブルや問題が発生することもあります。Dockerについてしっかりと学習してから運用に取り組むようにしましょう。",[34,527,529],{"id":528},"_8-4-セキュリティに脆弱性が生じることもある","8-4. セキュリティに脆弱性が生じることもある",[12,531,532],{},"Dockerはコンテナ型アーキテクチャです。1台のマシン上で複数のコンテナが動作するため、このことに起因する脆弱性には注意が必要です。たとえば、複数のコンテナがホストOSのリソースやカーネルを共有しているため、一つのコンテナに脆弱性があった場合、全体にその影響が及ぶ可能性があります。",[34,534,536],{"id":535},"_8-5-コンテナ間での連携が難しい","8-5. コンテナ間での連携が難しい",[12,538,539],{},"複数のコンテナ間での連携を検討している場合、各種設定が難しいために、運用時に問題が発生することがあります。たとえば、アプリとデータベースを別のコンテナで作成し、一緒に運用したい場合には、同一ホスト内で通信設定をしなければなりません。ポートやソケットを開放する場合にはセキュリティ面でリスクが生じます。それを避けるために設定を複雑にしてしまうと、今度は運用面で問題が起きる恐れがあります。コンテナを連携させる際は、設計段階から十分に検討することが重要です。",[19,541,543],{"id":542},"_9-gitlabはdockerが抱える課題をどのように解決するのか","9 GitLabはDockerが抱える課題をどのように解決するのか",[12,545,546,547,552],{},"Dockerコンテナ内にGitLabをインストールすることができます。",[82,548,551],{"href":549,"rel":550},"https://about.gitlab.com/ja-jp/platform/",[],"GitLab","は、Git「分散型バージョン管理システム」を主体としたDevSecOpsプラットフォームです。ソフトウェア開発ライフサイクル全体に対応する単一のプラットフォームで、GitLabを活用することで高品質なソフトウェアの迅速なデリバリーを実現できます。",[12,554,555,556,561],{},"Dockerコンテナ内にGitLabをインストールすると、GitLabインスタンスにアクセスできるようになります。Dockerコンテナへの",[82,557,560],{"href":558,"rel":559},"https://about.gitlab.com/ja-jp/install/",[],"GitLab Dockerイメージのインストールは公式にサポート","されています。",[12,563,564,565,570],{},"Dockerが抱えるいくつかの問題のうち、特にセキュリティについては、GitLabのDevSecOps（開発、セキュリティ、運用）を活用して対処することができます。GitLabのDevSecOpsでは、",[82,566,569],{"href":567,"rel":568},"https://about.gitlab.com/ja-jp/topics/ci-cd/shift-left-devops/",[],"シフトレフト","を重視しており、セキュリティ対策を開発サイクルの早い段階に組み込むことにより、コンテナイメージの持つセキュリティの問題の早期発見と対応を図っています。継続的インテグレーションによってこのシフトレフトのコンセプトを実践することで、セキュリティ対応にかかっていたコストを削減できます。",[12,572,573,574,579],{},"DevSecOpsにおいて重要なCI/CDを実現するためには、自動化が欠かせません。GitLabではパイプラインがCI/CDの命令をまとめています。そして、その指示に従いプロセスの自動化を実現するときの基盤になっているのが",[82,575,578],{"href":576,"rel":577},"https://docs.gitlab.com/ja-jp/runner/",[],"GitLab Runner","（英語）です。GitLab Runnerはセキュリティのシフトレフトを実現する上で重要な役割を果たしています。",[12,581,582],{},"GitLab Runnerはセキュリティスキャンやテストを指定したタイミングで自動で実行してくれます。また、レポート作成ジョブを実行して、ダッシュボードに最新情報を表示することも可能です。",[19,584,586],{"id":585},"_10-gitlabのdevsecopsにおけるdockerの役割","10. GitLabのDevSecOpsにおけるDockerの役割",[12,588,589],{},[26,590],{"alt":591,"src":592},"GitLabのDevSecOpsにおけるDockerの役割","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782445360/peaijdreglsjnxajcbdy.jpg",[12,594,595],{},"GitLabを活用したDevSecOpsインテグレーションにおいても、Dockerは非常に大切な役割を担っています。",[34,597,599],{"id":598},"_10-1-cicdジョブのコンテナ化","10-1. CI/CDジョブのコンテナ化",[12,601,602],{},"GitLab CI/CDでは、CI/CDパイプラインでDockerコンテナを使用することで、次のようなことが可能になります。",[104,604,605,611,617],{},[107,606,607,610],{},[110,608,609],{},"一貫性："," CI/CDジョブはコンテナ内で実行されるため、依存関係や環境の違いによるエラーが防げます。",[107,612,613,616],{},[110,614,615],{},"スケーラビリティ："," コンテナは軽量かつ迅速に起動でき、大規模なパイプラインでも効率的に実行できます。",[107,618,619,622],{},[110,620,621],{},"環境の柔軟性："," ジョブごとに異なるDockerイメージを指定できるため、必要な環境を簡単に準備できます。",[12,624,625,626,631,632,635],{},"GitLab RunnerのDockerイメージは、",[82,627,630],{"href":628,"rel":629},"https://about.gitlab.com/ja-jp/blog/what-is-linux/",[],"UbuntuまたはAlpine Linux","をベースにしています。Dockerイメージは標準の",[113,633,634],{},"gitlab-runner","コマンドを内包しており、ホストに直接GitLab Runnerをインストールしたかのように動作します。",[34,637,639],{"id":638},"_10-2-セキュリティスキャンの自動化","10-2. セキュリティスキャンの自動化",[12,641,642],{},"セキュリティはDevSecOpsでの重要な要素であり、Dockerはこれをサポートします。",[104,644,645,651],{},[107,646,647,650],{},[110,648,649],{},"コンテナイメージのセキュリティスキャン："," GitLabには、CI/CDパイプラインでDockerイメージをスキャンする機能があります。このスキャンにより脆弱性がチェックされ、イメージ内の依存関係やコードの安全性を評価できます。",[107,652,653,656],{},[110,654,655],{},"コンテナ脆弱性スキャンの自動化："," GitLabにはTrivyやAquaなどのセキュリティツールを統合できます。DockerイメージのOSやアプリケーションが最新であるか、既知の脆弱性がないかをチェックします。",[34,658,660],{"id":659},"_10-3-iacインフラストラクチャのコード化と環境管理","10-3. IaC（インフラストラクチャのコード化）と環境管理",[104,662,663,669],{},[107,664,665,668],{},[110,666,667],{},"再現性："," DockerをGitLabのCI/CDジョブ内で使用することで、開発環境と本番環境の整合性を保つことができます。",[107,670,671,674],{},[110,672,673],{},"ステージングやテスト環境を即時に構築："," Docker ComposeやKubernetesと連携することで、特定のブランチやマージリクエストごとに分離された環境をGitLabで作成できます。これにより、テストやセキュリティスキャンを効率的に実行できます。",[34,676,678],{"id":677},"_10-4-デプロイの効率化","10-4. デプロイの効率化",[12,680,681],{},"GitLabは、Dockerを使用する以下のデプロイパターンをサポートしています。",[104,683,684,690],{},[107,685,686,689],{},[110,687,688],{},"Dockerイメージのビルドとプッシュ："," アプリをコンテナイメージとしてビルドして、GitLabのContainer Registryや他のDockerレジストリにプッシュします。",[107,691,692,695],{},[110,693,694],{},"継続的デリバリー："," Dockerイメージを使ってコンテナオーケストレーションツールにデプロイすることで、迅速で安全なリリースが可能になります。",[34,697,699],{"id":698},"_10-5-マイクロサービスアーキテクチャのサポート","10-5. マイクロサービスアーキテクチャのサポート",[12,701,702],{},"GitLabとDockerを組み合わせることで、マイクロサービスアーキテクチャを簡単に構築できます。マイクロサービスは別々のDockerコンテナとして実行します。GitLab CI/CDパイプラインを使うと、以下のことを管理できます。",[104,704,705,708,711],{},[107,706,707],{},"サービス間の依存関係の設定",[107,709,710],{},"個別のセキュリティスキャン",[107,712,713],{},"バージョン管理（ロールバックが容易になります）",[19,715,717],{"id":716},"まとめ-dockerを活用して開発効率の向上を図ろう","まとめ Dockerを活用して開発効率の向上を図ろう",[12,719,720],{},"2013年の公表以来、Dockerは瞬く間にIT業界に広く普及しました。本記事では、Dockerの基本概念や仮想マシンとの違い、Dockerのメリット、デメリットなどについて紹介してきました。",[12,722,723,724,729],{},"Dockerを使う場合には、DevSecOpsにとって大切なCI/CDを実現するためにも、",[82,725,728],{"href":726,"rel":727},"https://about.gitlab.com/ja-jp/topics/ci-cd/",[],"GitLab CI/CD","などの自動化ツールの導入をおすすめします。GitLabのCI/CDパイプラインでDockerコンテナを使用することで、開発における一貫性の維持、スケーラビリティの実現、柔軟な環境の準備が可能になります。",{"title":731,"searchDepth":732,"depth":732,"links":733},"",2,[734,739,740,746,747,751,756,762,769,770,777],{"id":21,"depth":732,"text":22,"children":735},[736,738],{"id":36,"depth":737,"text":37},3,{"id":68,"depth":737,"text":69},{"id":89,"depth":732,"text":90},{"id":136,"depth":732,"text":137,"children":741},[742,743,744,745],{"id":163,"depth":737,"text":164},{"id":173,"depth":737,"text":174},{"id":183,"depth":737,"text":184},{"id":193,"depth":737,"text":194},{"id":203,"depth":732,"text":204},{"id":237,"depth":732,"text":238,"children":748},[749,750],{"id":250,"depth":737,"text":251},{"id":325,"depth":737,"text":326},{"id":384,"depth":732,"text":385,"children":752},[753,754,755],{"id":408,"depth":737,"text":409},{"id":433,"depth":737,"text":434},{"id":443,"depth":737,"text":444},{"id":453,"depth":732,"text":454,"children":757},[758,759,760,761],{"id":466,"depth":737,"text":467},{"id":473,"depth":737,"text":474},{"id":480,"depth":737,"text":481},{"id":487,"depth":737,"text":488},{"id":494,"depth":732,"text":495,"children":763},[764,765,766,767,768],{"id":507,"depth":737,"text":508},{"id":514,"depth":737,"text":515},{"id":521,"depth":737,"text":522},{"id":528,"depth":737,"text":529},{"id":535,"depth":737,"text":536},{"id":542,"depth":732,"text":543},{"id":585,"depth":732,"text":586,"children":771},[772,773,774,775,776],{"id":598,"depth":737,"text":599},{"id":638,"depth":737,"text":639},{"id":659,"depth":737,"text":660},{"id":677,"depth":737,"text":678},{"id":698,"depth":737,"text":699},{"id":716,"depth":732,"text":717},"engineering","2025-06-18","Dockerのコンテナ技術は広く普及しつつあります。Dockerとは何なのか。Dockerの使い方は？Dockerプラットフォームとその技術の基礎を学びましょう。\n","md",null,true,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750226168/pf5cwmvqq09v1pe0re66.jpg",{},"/ja-jp/blog/what-is-docker",{"noIndex":788,"description":789,"title":5,"ogImage":790},false,"Dockerのコンテナ技術は広く普及しつつあります。Dockerとは何なのか。Dockerの使い方は？Dockerプラットフォームとその技術の基礎を学びましょう。","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1750226168/pf5cwmvqq09v1pe0re66.webp","what-is-docker","ja-jp/blog/what-is-docker",[794,795,796,797,798,799,800,801],"CI/CD","cloud native","DevOps","DevSecOps","features","performance","security","tutorial","BlogPost","2026-08-04","jjF5mz9YtIgNM1JCO-Jp8gVh88rXX4wrmo5746gEijQ",{"logo":806,"freeTrial":811,"sales":816,"login":821,"items":826,"search":1154,"minimal":1187,"duo":1204,"switchNav":1213,"pricingDeployment":1224},{"config":807},{"href":808,"dataGaName":809,"dataGaLocation":810},"/ja-jp/","gitlab logo","header",{"text":812,"config":813},"無料トライアルを開始",{"href":814,"dataGaName":815,"dataGaLocation":810},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":817,"config":818},"デモをリクエスト",{"href":819,"dataGaName":820,"dataGaLocation":810},"/ja-jp/sales/?contact-topic=request-demo","sales",{"text":822,"config":823},"サインイン",{"href":824,"dataGaName":825,"dataGaLocation":810},"https://gitlab.com/users/sign_in/","sign in",[827,856,957,962,1076,1132],{"text":828,"config":829,"menu":831},"プラットフォーム",{"dataNavLevelOne":830},"platform",{"type":832,"columns":833},"cards",[834,840,848],{"title":828,"description":835,"link":836},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":837,"config":838},"プラットフォームの詳細はこちら",{"href":839,"dataGaName":830,"dataGaLocation":810},"/ja-jp/platform/",{"title":841,"description":842,"link":843},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":844,"config":845},"GitLab Duoのご紹介",{"href":846,"dataGaName":847,"dataGaLocation":810},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":849,"description":850,"link":851},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":852,"config":853},"詳細はこちら",{"href":854,"dataGaName":855,"dataGaLocation":810},"/ja-jp/why-gitlab/","why gitlab",{"text":857,"left":783,"config":858,"menu":860},"製品",{"dataNavLevelOne":859},"solutions",{"type":861,"link":862,"columns":866,"feature":936},"lists",{"text":863,"config":864},"すべてのソリューションを表示",{"href":865,"dataGaName":859,"dataGaLocation":810},"/ja-jp/solutions/",[867,891,914],{"title":868,"description":869,"link":870,"items":875},"自動化","CI/CDと自動化でデプロイを加速",{"config":871},{"icon":872,"href":873,"dataGaName":874,"dataGaLocation":810},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[876,879,882,887],{"text":794,"config":877},{"href":878,"dataGaLocation":810,"dataGaName":794},"/ja-jp/solutions/continuous-integration/",{"text":841,"config":880},{"href":846,"dataGaLocation":810,"dataGaName":881},"gitlab duo agent platform - product menu",{"text":883,"config":884},"ソースコード管理",{"href":885,"dataGaLocation":810,"dataGaName":886},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":888,"config":889},"自動化されたソフトウェアデリバリー",{"href":873,"dataGaLocation":810,"dataGaName":890},"Automated software delivery",{"title":892,"description":893,"link":894,"items":899},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":895},{"href":896,"dataGaName":897,"dataGaLocation":810,"icon":898},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[900,904,909],{"text":901,"config":902},"アプリケーションセキュリティテスト",{"href":896,"dataGaName":903,"dataGaLocation":810},"Application security testing",{"text":905,"config":906},"ソフトウェアサプライチェーンセキュリティ",{"href":907,"dataGaLocation":810,"dataGaName":908},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":910,"config":911},"ソフトウェアコンプライアンス",{"href":912,"dataGaName":913,"dataGaLocation":810},"/ja-jp/solutions/software-compliance/","software compliance",{"title":915,"link":916,"items":921},"測定",{"config":917},{"icon":918,"href":919,"dataGaName":920,"dataGaLocation":810},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[922,926,931],{"text":923,"config":924},"可視性と測定",{"href":919,"dataGaLocation":810,"dataGaName":925},"Visibility and Measurement",{"text":927,"config":928},"バリューストリーム管理",{"href":929,"dataGaLocation":810,"dataGaName":930},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":932,"config":933},"分析とインサイト",{"href":934,"dataGaLocation":810,"dataGaName":935},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":937,"type":861,"items":938},"GitLabが活躍する場所",[939,945,951],{"text":940,"config":941},"大企業",{"icon":942,"href":943,"dataGaLocation":810,"dataGaName":944},"Building","/ja-jp/enterprise/","enterprise",{"text":946,"config":947},"スモールビジネス",{"icon":948,"href":949,"dataGaLocation":810,"dataGaName":950},"Work","/ja-jp/small-business/","small business",{"text":952,"config":953},"公共部門",{"icon":954,"href":955,"dataGaLocation":810,"dataGaName":956},"Organization","/ja-jp/solutions/public-sector/","public sector",{"text":958,"config":959},"価格",{"href":960,"dataGaName":961,"dataGaLocation":810,"dataNavLevelOne":961},"/ja-jp/pricing/","pricing",{"text":963,"config":964,"menu":966},"関連リソース",{"dataNavLevelOne":965},"resources",{"type":861,"link":967,"columns":971,"feature":1065},{"text":968,"config":969},"すべてのリソースを表示",{"href":970,"dataGaName":965,"dataGaLocation":810},"/ja-jp/resources/",[972,1005,1032],{"title":973,"items":974},"はじめに",[975,980,985,990,995,1000],{"text":976,"config":977},"インストール",{"href":978,"dataGaName":979,"dataGaLocation":810},"/ja-jp/install/","install",{"text":981,"config":982},"クイックスタートガイド",{"href":983,"dataGaName":984,"dataGaLocation":810},"/ja-jp/get-started/","quick setup checklists",{"text":986,"config":987},"学ぶ",{"href":988,"dataGaLocation":810,"dataGaName":989},"https://university.gitlab.com/","learn",{"text":991,"config":992},"製品ドキュメント",{"href":993,"dataGaName":994,"dataGaLocation":810},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":996,"config":997},"ベストプラクティスビデオ",{"href":998,"dataGaName":999,"dataGaLocation":810},"/ja-jp/getting-started-videos/","best practice videos",{"text":1001,"config":1002},"インテグレーション",{"href":1003,"dataGaName":1004,"dataGaLocation":810},"/ja-jp/integrations/","integrations",{"title":1006,"items":1007},"検索する",[1008,1013,1018,1023,1027],{"text":1009,"config":1010},"お客様成功事例",{"href":1011,"dataGaName":1012,"dataGaLocation":810},"/ja-jp/customers/","customer success stories",{"text":1014,"config":1015},"ブログ",{"href":1016,"dataGaName":1017,"dataGaLocation":810},"/ja-jp/blog/","blog",{"text":1019,"config":1020},"Demo Hub",{"href":1021,"dataGaName":1022,"dataGaLocation":810},"/ja-jp/demo-hub/","demo hub",{"text":1024,"config":1025},"The Source",{"href":1026,"dataGaName":1017,"dataGaLocation":810},"/ja-jp/the-source/",{"text":1028,"config":1029},"リモート",{"href":1030,"dataGaName":1031,"dataGaLocation":810},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":1033,"items":1034},"つなげる",[1035,1040,1045,1050,1055,1060],{"text":1036,"config":1037},"GitLabサービス",{"href":1038,"dataGaName":1039,"dataGaLocation":810},"/ja-jp/services/","services",{"text":1041,"config":1042},"コントリビュート",{"href":1043,"dataGaName":1044,"dataGaLocation":810},"https://contributors.gitlab.com","contribute",{"text":1046,"config":1047},"コミュニティ",{"href":1048,"dataGaName":1049,"dataGaLocation":810},"/community/","community",{"text":1051,"config":1052},"フォーラム",{"href":1053,"dataGaName":1054,"dataGaLocation":810},"https://forum.gitlab.com/","forum",{"text":1056,"config":1057},"イベント",{"href":1058,"dataGaName":1059,"dataGaLocation":810},"/events/","events",{"text":1061,"config":1062},"パートナー",{"href":1063,"dataGaName":1064,"dataGaLocation":810},"/ja-jp/partners/","partners",{"config":1066,"title":1069,"text":1070,"link":1071},{"background":1067,"textColor":1068},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":1072,"config":1073},"最新情報を読む",{"href":1074,"dataGaName":1075,"dataGaLocation":810},"/ja-jp/whats-new/","whats new",{"text":1077,"config":1078,"menu":1080},"企業情報",{"dataNavLevelOne":1079},"company",{"type":861,"columns":1081},[1082],{"items":1083},[1084,1089,1095,1097,1102,1107,1112,1117,1122,1127],{"text":1085,"config":1086},"GitLabについて",{"href":1087,"dataGaName":1088,"dataGaLocation":810},"/ja-jp/company/","about",{"text":1090,"config":1091,"footerGa":1094},"採用情報",{"href":1092,"dataGaName":1093,"dataGaLocation":810},"/jobs/","jobs",{"dataGaName":1093},{"text":1056,"config":1096},{"href":1058,"dataGaName":1059,"dataGaLocation":810},{"text":1098,"config":1099},"経営陣",{"href":1100,"dataGaName":1101,"dataGaLocation":810},"/company/team/e-group/","leadership",{"text":1103,"config":1104},"ハンドブック",{"href":1105,"dataGaName":1106,"dataGaLocation":810},"https://handbook.gitlab.com/","handbook",{"text":1108,"config":1109},"投資家向け情報",{"href":1110,"dataGaName":1111,"dataGaLocation":810},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1113,"config":1114},"トラストセンター",{"href":1115,"dataGaName":1116,"dataGaLocation":810},"/ja-jp/security/","trust center",{"text":1118,"config":1119},"AI Transparency Center",{"href":1120,"dataGaName":1121,"dataGaLocation":810},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":1123,"config":1124},"ニュースレター",{"href":1125,"dataGaName":1126,"dataGaLocation":810},"/company/contact/#contact-forms","newsletter",{"text":1128,"config":1129},"プレス",{"href":1130,"dataGaName":1131,"dataGaLocation":810},"/press/","press",{"text":1133,"config":1134,"menu":1135},"お問い合わせ",{"dataNavLevelOne":1079},{"type":861,"columns":1136},[1137],{"items":1138},[1139,1144,1149],{"text":1140,"config":1141},"お問い合わせはこちら",{"href":1142,"dataGaName":1143,"dataGaLocation":810},"/ja-jp/sales/","talk to sales",{"text":1145,"config":1146},"サポートを受ける",{"href":1147,"dataGaName":1148,"dataGaLocation":810},"https://support.gitlab.com/hc/en-us","support portal",{"text":1150,"config":1151},"カスタマーポータル",{"href":1152,"dataGaName":1153,"dataGaLocation":810},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1155,"login":1156,"suggestions":1163},"閉じる",{"text":1157,"link":1158},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":1159,"config":1160},"GitLab.com",{"href":824,"dataGaName":1161,"dataGaLocation":1162},"search login","search",{"text":1164,"default":1165},"提案",[1166,1168,1173,1175,1179,1183],{"text":841,"config":1167},{"href":846,"dataGaName":841,"dataGaLocation":1162},{"text":1169,"config":1170},"コード提案（AI）",{"href":1171,"dataGaName":1172,"dataGaLocation":1162},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":794,"config":1174},{"href":878,"dataGaName":794,"dataGaLocation":1162},{"text":1176,"config":1177},"GitLab on AWS",{"href":1178,"dataGaName":1176,"dataGaLocation":1162},"/ja-jp/partners/technology-partners/aws/",{"text":1180,"config":1181},"GitLab on Google Cloud",{"href":1182,"dataGaName":1180,"dataGaLocation":1162},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":1184,"config":1185},"GitLabを選ぶ理由",{"href":854,"dataGaName":1186,"dataGaLocation":1162},"Why GitLab?",{"freeTrial":1188,"mobileIcon":1192,"desktopIcon":1197,"secondaryButton":1200},{"text":812,"config":1189},{"href":1190,"dataGaName":815,"dataGaLocation":1191},"https://gitlab.com/-/trials/new/","nav",{"altText":1193,"config":1194},"GitLabアイコン",{"src":1195,"dataGaName":1196,"dataGaLocation":1191},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1193,"config":1198},{"src":1199,"dataGaName":1196,"dataGaLocation":1191},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":973,"config":1201},{"href":1202,"dataGaName":1203,"dataGaLocation":1191},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":1205,"mobileIcon":1209,"desktopIcon":1211},{"text":1206,"config":1207},"GitLab Duoの詳細について",{"href":846,"dataGaName":1208,"dataGaLocation":1191},"gitlab duo",{"altText":1193,"config":1210},{"src":1195,"dataGaName":1196,"dataGaLocation":1191},{"altText":1193,"config":1212},{"src":1199,"dataGaName":1196,"dataGaLocation":1191},{"button":1214,"mobileIcon":1219,"desktopIcon":1221},{"text":1215,"config":1216},"/switch",{"href":1217,"dataGaName":1218,"dataGaLocation":1191},"#contact","switch",{"altText":1193,"config":1220},{"src":1195,"dataGaName":1196,"dataGaLocation":1191},{"altText":1193,"config":1222},{"src":1223,"dataGaName":1196,"dataGaLocation":1191},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1225,"mobileIcon":1230,"desktopIcon":1232},{"text":1226,"config":1227},"料金ページに戻る",{"href":960,"dataGaName":1228,"dataGaLocation":1191,"icon":1229},"back to pricing","GoBack",{"altText":1193,"config":1231},{"src":1195,"dataGaName":1196,"dataGaLocation":1191},{"altText":1193,"config":1233},{"src":1199,"dataGaName":1196,"dataGaLocation":1191},{"title":1235,"button":1236,"config":1240},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":852,"config":1237},{"href":1238,"dataGaName":1239,"dataGaLocation":810},"/ja-jp/gitlab-orbit/","orbit",{"layout":1241,"disabled":788},"release",{"data":1243},{"text":1244,"source":1245,"edit":1251,"contribute":1256,"config":1261,"items":1266,"minimal":1472},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":1246,"config":1247},"ページのソースを表示",{"href":1248,"dataGaName":1249,"dataGaLocation":1250},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1252,"config":1253},"このページを編集",{"href":1254,"dataGaName":1255,"dataGaLocation":1250},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1257,"config":1258},"ご協力をお願いします",{"href":1259,"dataGaName":1260,"dataGaLocation":1250},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1262,"facebook":1263,"youtube":1264,"linkedin":1265},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1267,1312,1362,1405,1439],{"title":958,"links":1268,"subMenu":1283},[1269,1273,1278],{"text":1270,"config":1271},"プランの表示",{"href":960,"dataGaName":1272,"dataGaLocation":1250},"view plans",{"text":1274,"config":1275},"Premiumを選ぶ理由",{"href":1276,"dataGaName":1277,"dataGaLocation":1250},"/ja-jp/pricing/premium/","why premium",{"text":1279,"config":1280},"Ultimateを選ぶ理由",{"href":1281,"dataGaName":1282,"dataGaLocation":1250},"/ja-jp/pricing/ultimate/","why ultimate",[1284],{"title":1133,"links":1285},[1286,1288,1290,1292,1297,1302,1307],{"text":1133,"config":1287},{"href":1142,"dataGaName":820,"dataGaLocation":1250},{"text":1145,"config":1289},{"href":1147,"dataGaName":1148,"dataGaLocation":1250},{"text":1150,"config":1291},{"href":1152,"dataGaName":1153,"dataGaLocation":1250},{"text":1293,"config":1294},"ステータス",{"href":1295,"dataGaName":1296,"dataGaLocation":1250},"https://status.gitlab.com/","status",{"text":1298,"config":1299},"利用規約",{"href":1300,"dataGaName":1301,"dataGaLocation":1250},"/terms/","terms of use",{"text":1303,"config":1304},"プライバシーに関する声明",{"href":1305,"dataGaName":1306,"dataGaLocation":1250},"/ja-jp/privacy/","privacy statement",{"text":1308,"config":1309},"Cookie 優先設定",{"dataGaName":1310,"dataGaLocation":1250,"id":1311,"isOneTrustButton":783},"cookie preferences","ot-sdk-btn",{"title":857,"links":1313,"subMenu":1322},[1314,1318],{"text":1315,"config":1316},"DevSecOpsプラットフォーム",{"href":839,"dataGaName":1317,"dataGaLocation":1250},"devsecops platform",{"text":1319,"config":1320},"AI支援開発",{"href":846,"dataGaName":1321,"dataGaLocation":1250},"ai-assisted development",[1323],{"title":1324,"links":1325},"トピック",[1326,1330,1335,1339,1344,1348,1352,1357],{"text":794,"config":1327},{"href":1328,"dataGaName":1329,"dataGaLocation":1250},"/ja-jp/topics/ci-cd/","cicd",{"text":1331,"config":1332},"GitOps",{"href":1333,"dataGaName":1334,"dataGaLocation":1250},"/ja-jp/topics/gitops/","gitops",{"text":796,"config":1336},{"href":1337,"dataGaName":1338,"dataGaLocation":1250},"/ja-jp/topics/devops/","devops",{"text":1340,"config":1341},"バージョン管理",{"href":1342,"dataGaName":1343,"dataGaLocation":1250},"/ja-jp/topics/version-control/","version control",{"text":797,"config":1345},{"href":1346,"dataGaName":1347,"dataGaLocation":1250},"/ja-jp/topics/devsecops/","devsecops",{"text":1349,"config":1350},"クラウドネイティブ",{"href":1351,"dataGaName":795,"dataGaLocation":1250},"/ja-jp/topics/cloud-native/",{"text":1353,"config":1354},"コーディングのためのAI",{"href":1355,"dataGaName":1356,"dataGaLocation":1250},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1358,"config":1359},"エージェント型AI",{"href":1360,"dataGaName":1361,"dataGaLocation":1250},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1363,"links":1364},"ソリューション",[1365,1368,1370,1375,1379,1382,1385,1388,1390,1392,1395,1400],{"text":901,"config":1366},{"href":896,"dataGaName":1367,"dataGaLocation":1250},"Application Security Testing",{"text":888,"config":1369},{"href":873,"dataGaName":874,"dataGaLocation":1250},{"text":1371,"config":1372},"アジャイル開発",{"href":1373,"dataGaName":1374,"dataGaLocation":1250},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1376,"config":1377},"SCM",{"href":885,"dataGaName":1378,"dataGaLocation":1250},"source code management",{"text":794,"config":1380},{"href":878,"dataGaName":1381,"dataGaLocation":1250},"continuous integration & delivery",{"text":927,"config":1383},{"href":929,"dataGaName":1384,"dataGaLocation":1250},"value stream management",{"text":1331,"config":1386},{"href":1387,"dataGaName":1334,"dataGaLocation":1250},"/ja-jp/solutions/gitops/",{"text":940,"config":1389},{"href":943,"dataGaName":944,"dataGaLocation":1250},{"text":946,"config":1391},{"href":949,"dataGaName":950,"dataGaLocation":1250},{"text":1393,"config":1394},"公共機関",{"href":955,"dataGaName":956,"dataGaLocation":1250},{"text":1396,"config":1397},"教育",{"href":1398,"dataGaName":1399,"dataGaLocation":1250},"/ja-jp/solutions/education/","education",{"text":1401,"config":1402},"金融サービス",{"href":1403,"dataGaName":1404,"dataGaLocation":1250},"/ja-jp/solutions/finance/","financial services",{"title":1406,"links":1407},"リソース",[1408,1410,1412,1414,1418,1420,1423,1425,1427,1429,1431,1433,1435,1437],{"text":976,"config":1409},{"href":978,"dataGaName":979,"dataGaLocation":1250},{"text":981,"config":1411},{"href":983,"dataGaName":984,"dataGaLocation":1250},{"text":986,"config":1413},{"href":988,"dataGaName":989,"dataGaLocation":1250},{"text":991,"config":1415},{"href":1416,"dataGaName":1417,"dataGaLocation":1250},"https://docs.gitlab.com/ja-jp","docs",{"text":1014,"config":1419},{"href":1016,"dataGaName":1017,"dataGaLocation":1250},{"text":1421,"config":1422},"最新リリース",{"href":1074,"dataGaName":1075,"dataGaLocation":1250},{"text":1009,"config":1424},{"href":1011,"dataGaName":1012,"dataGaLocation":1250},{"text":1028,"config":1426},{"href":1030,"dataGaName":1031,"dataGaLocation":1250},{"text":1036,"config":1428},{"href":1038,"dataGaName":1039,"dataGaLocation":1250},{"text":1041,"config":1430},{"href":1043,"dataGaName":1044,"dataGaLocation":1250},{"text":1046,"config":1432},{"href":1048,"dataGaName":1049,"dataGaLocation":1250},{"text":1051,"config":1434},{"href":1053,"dataGaName":1054,"dataGaLocation":1250},{"text":1056,"config":1436},{"href":1058,"dataGaName":1059,"dataGaLocation":1250},{"text":1061,"config":1438},{"href":1063,"dataGaName":1064,"dataGaLocation":1250},{"title":1440,"links":1441},"会社情報",[1442,1444,1446,1448,1450,1452,1456,1461,1463,1465,1467],{"text":1085,"config":1443},{"href":1087,"dataGaName":1079,"dataGaLocation":1250},{"text":1090,"config":1445},{"href":1092,"dataGaName":1093,"dataGaLocation":1250},{"text":1098,"config":1447},{"href":1100,"dataGaName":1101,"dataGaLocation":1250},{"text":1103,"config":1449},{"href":1105,"dataGaName":1106,"dataGaLocation":1250},{"text":1108,"config":1451},{"href":1110,"dataGaName":1111,"dataGaLocation":1250},{"text":1453,"config":1454},"Sustainability",{"href":1455,"dataGaName":1453,"dataGaLocation":1250},"/sustainability/",{"text":1457,"config":1458},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1459,"dataGaName":1460,"dataGaLocation":1250},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1113,"config":1462},{"href":1115,"dataGaName":1116,"dataGaLocation":1250},{"text":1123,"config":1464},{"href":1125,"dataGaName":1126,"dataGaLocation":1250},{"text":1128,"config":1466},{"href":1130,"dataGaName":1131,"dataGaLocation":1250},{"text":1468,"config":1469},"現代奴隷制の透明性に関する声明",{"href":1470,"dataGaName":1471,"dataGaLocation":1250},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1473},[1474,1476,1479],{"text":1298,"config":1475},{"href":1300,"dataGaName":1301,"dataGaLocation":1250},{"text":1477,"config":1478},"Cookieの設定",{"dataGaName":1310,"dataGaLocation":1250,"id":1311,"isOneTrustButton":783},{"text":1303,"config":1480},{"href":1305,"dataGaName":1306,"dataGaLocation":1250},[1482],{"id":1483,"title":1484,"body":782,"config":1485,"content":1487,"description":782,"extension":1491,"meta":1492,"navigation":783,"path":1493,"seo":1494,"stem":1495,"__hash__":1496},"blogAuthors/en-us/blog/authors/gitlab-team.yml","Gitlab Team",{"template":1486},"BlogAuthor",{"name":7,"config":1488},{"headshot":1489,"ctfId":1490},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","GitLab-Team","yml",{},"/en-us/blog/authors/gitlab-team",{},"en-us/blog/authors/gitlab-team","lmrXWttQYRbkSz_xfCfucB21pf44aAdxkvbbS48UVcE",[1498,1504,1511],{"title":1499,"description":1499,"heroImage":1500,"category":778,"date":1501,"authors":1502,"slug":1503,"externalUrl":782},"MCPサーバーとは？仕組みやソフトウェア開発の活用例をわかりやすく解説","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786001428/qedvughylmeposoqm5zs.jpg","2026-08-07",[7],"what-is-mcp-server",{"title":1505,"description":1506,"heroImage":1507,"category":778,"date":1508,"authors":1509,"slug":1510,"externalUrl":782},"イテレーションとは？意味や進め方、おすすめの支援ツールを紹介","イテレーションとは、アジャイル開発における「反復」を意味する開発単位です。本記事では、イテレーションの意味やスプリントとの違い、具体的な進め方、成功のポイントをわかりやすく解説します。アジャイル開発を支援するツールもあわせて紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785816755/mj23yaguu0gxvbztd6pl.jpg","2026-08-06",[7],"what-is-iteration",{"title":1512,"description":1513,"heroImage":1514,"category":778,"date":1508,"authors":1515,"slug":1518,"externalUrl":782},"GitLab Self-Hostedで実現するコンフィデンシャルAI","ソースコードをハードウェアで暗号化された境界の外に出すことなく、GitLab DuoのAIコーディングエージェントを開発者に提供します。GPUは不要です。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png",[1516,1517],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"promotions":1520},[1521,1535,1547,1558],{"id":1522,"categories":1523,"header":1525,"text":1526,"button":1527,"image":1532},"ai-modernization",[1524],"ai","AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1528,"config":1529},"AI成熟度スコアを確認する",{"href":1530,"dataGaName":1531,"dataGaLocation":1017},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1533},{"src":1534},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1536,"categories":1537,"header":1539,"text":1526,"button":1540,"image":1544},"devops-modernization",[1538,1347],"product","単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1541,"config":1542},"DevOps成熟度スコアを確認しましょう",{"href":1543,"dataGaName":1531,"dataGaLocation":1017},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1545},{"src":1546},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1548,"categories":1549,"header":1550,"text":1526,"button":1551,"image":1555},"security-modernization",[800],"スピードのためにセキュリティを犠牲にしていませんか？",{"text":1552,"config":1553},"セキュリティ成熟度スコアを確認しましょう",{"href":1554,"dataGaName":1531,"dataGaLocation":1017},"/ja-jp/assessments/security-modernization-assessment/",{"config":1556},{"src":1557},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1559,"paths":1560,"header":1563,"text":1564,"button":1565,"image":1570},"github-azure-migration",[1561,1562],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1566,"config":1567},"GitLabとGitHubの比較を見る",{"href":1568,"dataGaName":1569,"dataGaLocation":1017},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1571},{"src":1546},{"header":1573,"blurb":1574,"button":1575,"secondaryButton":1579},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":812,"config":1576},{"href":1577,"dataGaName":815,"dataGaLocation":1578},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":1133,"config":1580},{"href":1142,"dataGaName":820,"dataGaLocation":1578},1786803771837]