<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT Information</title>
	<atom:link href="https://it-infomation.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://it-infomation.com</link>
	<description></description>
	<lastBuildDate>Fri, 09 Jan 2026 04:26:12 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>VSCodeでブランチ間の差分を比較する方法【GitLens】</title>
		<link>https://it-infomation.com/vscode-gitlens-compare-branches/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Fri, 09 Jan 2026 04:26:08 +0000</pubDate>
				<category><![CDATA[VSCode]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16346</guid>

					<description><![CDATA[この記事では、Visual Studio Codeの「拡張機能GitLens」を使って、ブランチ間の差分（diff）を視覚的に確認する方法を図を交えてわかりやすく解説します。 今のブランチと別ブランチ ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>この記事では、Visual Studio Codeの「拡張機能GitLens」を使って、<span class="hutoaka">ブランチ間の差分（diff）を視覚的に確認する方法</span>を図を交えてわかりやすく解説します。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">今のブランチと別ブランチで、何がどう違うのか？</span></li>



<li><span class="huto">どのコミットで、どのファイルが変更されたのか？</span></li>
</ul>



<p>こうした確認を視覚的に確認したい方におすすめです。</p>



<div class="wp-block-st-blocks-memo clip-memobox" style="color:#000;background-color:#f1f4fb;border-radius:3px"><div class="clip-fonticon" style="color:#3b5998;font-size:200%;border-color:#3b59984d"><i class="st-fa st-svg-user st-css-no" data-icon-label="" aria-hidden=""></i></div><div class="clip-memotext" style="color:#000">
<p>この記事では<span class="huto">「拡張機能GitLens」がすでにインストールされている状態</span>を前提に説明します。</p>
</div></div>



<h2 class="wp-block-heading">GitLensでブランチ間の差分（diff）を確認する</h2>



<p>まず、VSCode左側のアクティビティバーから<span class="huto">「ソース管理（ブランチのアイコン）」</span>をクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="1024" height="664" src="https://it-infomation.com/wp-content/uploads/2026/01/6111ba3b2f37cbc445feb4d33f390f85.png" alt="GitLensでブランチ間の差分（diff）を確認する01" class="wp-image-16357" srcset="https://it-infomation.com/wp-content/uploads/2026/01/6111ba3b2f37cbc445feb4d33f390f85.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/6111ba3b2f37cbc445feb4d33f390f85-300x195.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/6111ba3b2f37cbc445feb4d33f390f85-768x498.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>ソース管理ペイン内に表示されている<span class="huto">「GITLENS」セクション</span>を展開します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="666" src="https://it-infomation.com/wp-content/uploads/2026/01/d937feaf51e38444fb7475724e635f23.png" alt="GitLensでブランチ間の差分（diff）を確認する02" class="wp-image-16358" srcset="https://it-infomation.com/wp-content/uploads/2026/01/d937feaf51e38444fb7475724e635f23.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/d937feaf51e38444fb7475724e635f23-300x195.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/d937feaf51e38444fb7475724e635f23-768x500.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>GITLENS内の<span class="huto">「Branches」</span>をクリックすると、リポジトリ内のブランチ一覧が表示されます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="674" src="https://it-infomation.com/wp-content/uploads/2026/01/22f2ac779227f5837da24b96794058e1.png" alt="GitLensでブランチ間の差分（diff）を確認する03" class="wp-image-16359" srcset="https://it-infomation.com/wp-content/uploads/2026/01/22f2ac779227f5837da24b96794058e1.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/22f2ac779227f5837da24b96794058e1-300x197.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/22f2ac779227f5837da24b96794058e1-768x506.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>比較したいブランチにマウスホバーして、<span class="huto">「比較アイコン」</span>をクリックします。今回は「<span class="huto"><code>feature/sample</code>ブランチの比較アイコン</span>」を選択しています。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="665" src="https://it-infomation.com/wp-content/uploads/2026/01/2f1efaf5db775156f5557b7fcb05516b.png" alt="GitLensでブランチ間の差分（diff）を確認する04" class="wp-image-16360" srcset="https://it-infomation.com/wp-content/uploads/2026/01/2f1efaf5db775156f5557b7fcb05516b.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/2f1efaf5db775156f5557b7fcb05516b-300x195.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/2f1efaf5db775156f5557b7fcb05516b-768x499.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">補足</span></span></p><div class="free-inbox">
<p><kbd>Alt</kbd>キーを押しながら「比較アイコン」をクリックすると、Working Tree（現在編集しているコミット前のファイル）と選択したブランチを比較することもできます。</p>
</div></div>



<p>比較アイコンをクリックすると、「SEARCH ＆ COMPARE」が開き、「自分が現在いるブランチ（HEAD）」と「選択したブランチ」のファイル差分一覧が表示されます。差分一覧を見ると、<span class="huto">どのファイルに変更があるか</span>が一目で分かります。この例では、<code>README</code>ファイルと<code>sample.js</code>ファイルが変更されていることわかります。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="666" src="https://it-infomation.com/wp-content/uploads/2026/01/db6563e855269254a77541f78ccf2b11.png" alt="GitLensでブランチ間の差分（diff）を確認する05" class="wp-image-16361" srcset="https://it-infomation.com/wp-content/uploads/2026/01/db6563e855269254a77541f78ccf2b11.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/db6563e855269254a77541f78ccf2b11-300x195.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/db6563e855269254a77541f78ccf2b11-768x500.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>各ファイルをクリックすると、VSCodeのdiffビューで実際の変更行を確認できます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="510" src="https://it-infomation.com/wp-content/uploads/2026/01/677c7e56a30fe0801b52489d4ecd15ae.png" alt="GitLensでブランチ間の差分（diff）を確認する06" class="wp-image-16362" srcset="https://it-infomation.com/wp-content/uploads/2026/01/677c7e56a30fe0801b52489d4ecd15ae.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/677c7e56a30fe0801b52489d4ecd15ae-300x149.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/677c7e56a30fe0801b52489d4ecd15ae-768x383.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>さらに、Aheadのアコーディオンを開くと、各コミットでどのファイルが変更されたかを確認できます。例えば、コミット01では<code>README</code>ファイルと<code>sample.js</code>ファイルが変更されていることわかります。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="676" src="https://it-infomation.com/wp-content/uploads/2026/01/25c9b4bc4776a842664f74d7821e1f82.png" alt="GitLensでブランチ間の差分（diff）を確認する07" class="wp-image-16363" srcset="https://it-infomation.com/wp-content/uploads/2026/01/25c9b4bc4776a842664f74d7821e1f82.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/25c9b4bc4776a842664f74d7821e1f82-300x198.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/25c9b4bc4776a842664f74d7821e1f82-768x507.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>ここでも、各ファイルをクリックすると、VSCodeのdiffビューで実際の変更行を確認できます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="507" src="https://it-infomation.com/wp-content/uploads/2026/01/dfa439469f000efa73969b7b9b53dc45.png" alt="GitLensでブランチ間の差分（diff）を確認する08" class="wp-image-16364" srcset="https://it-infomation.com/wp-content/uploads/2026/01/dfa439469f000efa73969b7b9b53dc45.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/dfa439469f000efa73969b7b9b53dc45-300x149.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/dfa439469f000efa73969b7b9b53dc45-768x380.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<h2 class="wp-block-heading">GitLensでブランチ間の差分（diff）を確認する別の方法</h2>



<p>GitLensでは、別の操作でもブランチ差分を確認できます。</p>



<p><span class="huto">「GitLens Inspectサイドパネル」</span>を開きます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="636" src="https://it-infomation.com/wp-content/uploads/2026/01/85753b9ea2f9ca3c36055fd800a1cd70.png" alt="GitLensでブランチ間の差分（diff）を確認する別の方法01" class="wp-image-16365" srcset="https://it-infomation.com/wp-content/uploads/2026/01/85753b9ea2f9ca3c36055fd800a1cd70.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/85753b9ea2f9ca3c36055fd800a1cd70-300x186.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/85753b9ea2f9ca3c36055fd800a1cd70-768x477.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>SEARCH ＆ COMPAREペインで<span class="huto">「Compare references」</span>をクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="630" src="https://it-infomation.com/wp-content/uploads/2026/01/61d4b83ee383e7dda5ed4d38c2f6fed1.png" alt="GitLensでブランチ間の差分（diff）を確認する別の方法02" class="wp-image-16366" srcset="https://it-infomation.com/wp-content/uploads/2026/01/61d4b83ee383e7dda5ed4d38c2f6fed1.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/61d4b83ee383e7dda5ed4d38c2f6fed1-300x185.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/61d4b83ee383e7dda5ed4d38c2f6fed1-768x473.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>コマンドパレットが開くので「比較先（Compare To）」を選択します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="632" src="https://it-infomation.com/wp-content/uploads/2026/01/e94d1ac30e8aafba66cd3b486231eebf.png" alt="GitLensでブランチ間の差分（diff）を確認する別の方法03" class="wp-image-16367" srcset="https://it-infomation.com/wp-content/uploads/2026/01/e94d1ac30e8aafba66cd3b486231eebf.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/e94d1ac30e8aafba66cd3b486231eebf-300x185.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/e94d1ac30e8aafba66cd3b486231eebf-768x474.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>次に「比較元（Compare From）」を選択します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="635" src="https://it-infomation.com/wp-content/uploads/2026/01/2daafc4cd52da138ce8840c6789db708.png" alt="GitLensでブランチ間の差分（diff）を確認する別の方法04" class="wp-image-16368" srcset="https://it-infomation.com/wp-content/uploads/2026/01/2daafc4cd52da138ce8840c6789db708.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/2daafc4cd52da138ce8840c6789db708-300x186.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/2daafc4cd52da138ce8840c6789db708-768x476.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>すると、選択した2つのブランチ（またはタグ・コミット）間のファイル差分一覧が表示されます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="634" src="https://it-infomation.com/wp-content/uploads/2026/01/77e2e18ba99ac748b25f1a7670b64ecf.png" alt="GitLensでブランチ間の差分（diff）を確認する別の方法05" class="wp-image-16369" srcset="https://it-infomation.com/wp-content/uploads/2026/01/77e2e18ba99ac748b25f1a7670b64ecf.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/77e2e18ba99ac748b25f1a7670b64ecf-300x186.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/77e2e18ba99ac748b25f1a7670b64ecf-768x476.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では<span class="hutoaka">「拡張機能GitLens」を使って、ブランチ間の差分（diff）を視覚的に確認する方法</span>について説明しました。</p>



<p>GitLensを使えば、VSCode上で次のような差分確認が簡単に行えます。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">ブランチ間の差分を一覧で確認できる</span></li>



<li><span class="huto">コミット単位で変更内容を追える</span></li>



<li><span class="huto">ファイル差分をそのままVSCodeで確認できる</span></li>



<li><span class="huto">Working Treeとの比較も可能</span></li>
</ul>



<p>Gitコマンドを使わなくても、視覚的に安全・確実に差分確認したい場合に、GitLensは非常に強力なツールです。</p>



<p>お読みいただきありがとうございました。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【プログラミング】イミュータブルとミュータブルの違いをPythonで解説！</title>
		<link>https://it-infomation.com/immutable-mutable-difference/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Wed, 07 Jan 2026 06:29:31 +0000</pubDate>
				<category><![CDATA[その他]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16311</guid>

					<description><![CDATA[プログラミングを学んでいると、「イミュータブル（Immutable）」と「ミュータブル（Mutable）」という言葉を目にすることがあります。 イミュータブルとミュータブルは、「オブジェクトの中身を後 ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>プログラミングを学んでいると、<span class="hutoaka">「イミュータブル（Immutable）」</span>と<span class="hutoao">「ミュータブル（Mutable）」</span>という言葉を目にすることがあります。</p>



<p><span class="ymarker"><span class="hutoaka">イミュータブル</span>と<span class="hutoao">ミュータブル</span>は、「オブジェクトの中身を後から変更できるかどうか」に関係しています。</span></p>



<p>この記事では、</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">イミュータブルとミュータブルの違い</span></li>



<li><span class="huto">Pythonの具体的なコード例</span></li>
</ul>



<p>を、プログラミング初心者の方にも分かるように丁寧に解説していきます。</p>



<h2 class="wp-block-heading">「イミュータブル」と「ミュータブル」の違い</h2>



<p>まずは、<span class="hutoaka">イミュータブル</span>と<span class="hutoao">ミュータブル</span>の意味を整理しましょう。</p>



<p><span class="st-mymarker-s"><span class="hutoaka">イミュータブル（Immutable）</span>は、「不変の」「変更できない」という意味を持つ英単語です。</span>プログラミングにおいては、<span class="hutoaka">一度作成したオブジェクトの中身（状態）を、あとから変更できない</span>という性質を指します。</p>



<p>たとえば、Pythonでは、次のような型がイミュータブルです。</p>



<ul style="background-color:#fbf1f4" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">数値（<code>int</code>, <code>float</code>）</span></li>



<li><span class="huto">文字列（<code>str</code>）</span></li>
</ul>



<p>これらは、<span class="st-mymarker-s">作られた瞬間に中身（状態）が確定し、後から中身を直接書き換えることができません</span>。</p>



<p>一方、<span class="st-mymarker-s-b"><span class="hutoao">ミュータブル（Mutable）</span>は、「可変の」「変更できる」という意味を持つ英単語です。</span>プログラミングにおいては、<span class="hutoao">一度作成したオブジェクトの中身（状態）を、後から変更できる</span>という性質を指します。</p>



<p>たとえば、Pythonでは、次のような型がミュータブルです。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">リスト（<code>list</code>）</span></li>



<li><span class="huto">辞書（<code>dict</code>）</span></li>
</ul>



<p>これらは、<span class="st-mymarker-s-b">オブジェクトそのものを作り直さなくても、後から中身だけを変更できます</span>。</p>



<h2 class="wp-block-heading">イミュータブルなオブジェクトの例（Python）</h2>



<p>Pythonの文字列（<code>str</code>）は<span class="hutoaka">イミュータブルな文字列オブジェクト</span>です。つまり、<span class="st-mymarker-s">一度作成した文字列の中身を、直接書き換えることはできません</span>。</p>



<p>以下は、Pythonで一度作成した文字列の中身を変更しようとした例です。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-python" data-lang="Python"><code>text = &quot;Hello&quot;

# 先頭の文字を変更しようとする
text[0] = &quot;h&quot;

print(text)</code></pre></div>



<p>上記のコードを実行すると、次のエラーが発生します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>TypeError: &#39;str&#39; object does not support item assignment</code></pre></div>



<p><code>"Hello"</code>は<span class="hutoaka">イミュータブルな文字列オブジェクト</span>です。そのため、文字列の各文字（<code>text[0]</code>など）は<span class="hutoaka">直接変更できません</span>。</p>



<h3 class="wp-block-heading">正しい変更方法：新しい文字列オブジェクトを作る</h3>



<p>文字列を変更したい場合は、既存の文字列オブジェクトを変更するのではなく、新しい文字列オブジェクトを作ります。以下にサンプルコードを示します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-python" data-lang="Python"><code>text = &quot;Hello&quot;

new_text = &quot;h&quot; + text[1:]

print(new_text)</code></pre></div>



<p>上記のコードでは、<code>"Hello"</code>を分解し、必要な部分を組み合わせて、まったく新しい文字列<code>new_text</code>を作成しています。元の<code>text</code>は一切変更されていません。このコードを実行すると、以下のような結果が表示されます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>hello</code></pre></div>



<p>元の<code>text</code>は変更せず、新しい文字列<code>new_text</code>を作っているのでエラーが発生しなくなります。</p>



<h3 class="wp-block-heading">「再代入」はエラーにならない理由</h3>



<p>次のコードはエラーになりません。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-python" data-lang="Python"><code>text = &quot;Hello&quot;
text = &quot;World&quot;</code></pre></div>



<p>これを見て、「あれ？文字列って変更できないんじゃないの？」と思うかもしれません。しかし、ここで行っているのは「文字列の変更」ではありません。</p>



<p><code>"Hello"</code>という文字列オブジェクトはそのまま存在しています。新しく<code>"World"</code>という文字列オブジェクトを作成して、<span class="huto">変数<code>text</code>が指している先を切り替えているだけ</span>だからです。つまり、<code>"Hello"</code>を書き換えているのではなく、<code>text</code>が参照するオブジェクトを変えているのでエラーにならないのです。</p>



<div class="wp-block-st-blocks-memo clip-memobox" style="color:#000;background-color:#f1f4fb;border-radius:3px"><div class="clip-fonticon" style="color:#3b5998;font-size:200%;border-color:#3b59984d"><i class="st-fa st-svg-info-circle st-css-no" data-icon-label="" aria-hidden=""></i></div><div class="clip-memotext" style="color:#000">
<p>「変数の再代入」と「オブジェクトの変更」は別物です。</p>
</div></div>



<h2 class="wp-block-heading">ミュータブルなオブジェクトの実例（Python）</h2>



<p>Pythonのリスト（<code>list</code>）は<span class="hutoao">ミュータブルなリストオブジェクト</span>です。つまり、<span class="st-mymarker-s-b">一度作成したリストの中身を、後から自由に変更できます</span>。</p>



<p>以下は、Pythonでリストを生成し、そのリストの要素を変更する例です。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-python" data-lang="Python"><code>numbers = [1, 2, 3]

numbers[0] = 100

print(numbers)</code></pre></div>



<p>上記のコードを実行すると、以下のような結果が表示されます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>[100, 2, 3]</code></pre></div>



<p>このコードでは、<code>[1, 2, 3]</code>というリストオブジェクトの中の要素だけを書き換えています。文字列のときと違ってエラーは発生しません。<code>[1, 2, 3]</code>は<span class="hutoao">ミュータブルなリストオブジェクト</span>だからです。</p>



<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では『<span class="huto"><span class="hutoaka">イミュータブル</span>と<span class="hutoao">ミュータブル</span>の違い</span>』について説明しました。</p>



<p><span class="ymarker"><span class="hutoaka">イミュータブル</span>と<span class="hutoao">ミュータブル</span>の違いは「オブジェクトの中身を後から変更できるかどうか」です。</span></p>



<ul class="wp-block-list">
<li>文字列（<code>str</code>）や数値（<code>int</code>）は<span class="hutoaka">イミュータブル</span></li>



<li>リスト（<code>list</code>）や辞書（<code>dict</code>）は<span class="hutoao">ミュータブル</span></li>
</ul>



<p>また、「変数の再代入」と「オブジェクトの変更」は別物である点も重要です。</p>



<p>お読みいただきありがとうございました。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】空白をチェックする方法まとめ！空文字・空白のみ・空白を含む場合を完全解説！</title>
		<link>https://it-infomation.com/javascript-whitespace-check/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Wed, 07 Jan 2026 02:19:23 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16289</guid>

					<description><![CDATA[JavaScriptで文字列を扱っていると、次のような場面によく遭遇すると思います。 入力欄に「何も入力されていないか」を判定したい 入力欄に「空白だけ入力されていないか」を判定したい 「文字列の途中 ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>JavaScriptで文字列を扱っていると、次のような場面によく遭遇すると思います。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">入力欄に「何も入力されていないか」を判定したい</span></li>



<li><span class="huto">入力欄に「空白だけ入力されていないか」を判定したい</span></li>



<li><span class="huto">「文字列の途中に空白が含まれているか」を判定したい</span></li>
</ul>



<p>この記事では、<strong>「JavaScriptで空白をチェックする代表的な4つの方法」</strong>を用途別にわかりやすく解説します。</p>



<h2 class="wp-block-heading">空文字・空白のみ・空白を含む文字列の違い</h2>



<p>JavaScriptで入力チェックを行う際、「何も入力されていない状態（空文字の状態）」と「空白だけが入力されている状態」さらに「文字列の途中に空白が含まれている状態」はすべて意味が異なります。</p>



<p>まずは、それぞれの違いを以下にまとめます。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">何も入力されていない状態（空文字の状態）：<code>""</code></span></li>



<li><span class="huto">空白だけが入力されている状態：<code>" "</code> や <code>"　"</code></span></li>



<li><span class="huto">文字列の途中に空白が含まれている状態：<code>"hello world"</code></span></li>
</ul>



<p>見た目は似ていても、<span class="st-mymarker-s">チェック方法を誤ると意図しないバリデーションエラーや不具合につながる</span>ため注意が必要です。</p>



<h2 class="wp-block-heading"><span class="st-count">空白のみかどうかを判定（trim()を使う）</span></h2>



<p>「空白だけが入力されているか」を判定したい場合、最もよく使われるのが<code>trim()</code>を使った方法です。</p>



<p><code>trim()</code>は文字列の<span class="hutoaka">前後の空白をすべて削除</span>します。その結果が空文字<code>""</code>であれば、「空白のみ」と判断できます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>const value = &quot;   &quot;;

const isOnlyWhitespace = value.trim() === &quot;&quot;;

console.log(isOnlyWhitespace); // true</code></pre></div>



<p>半角スペース・全角スペース・改行（<code>\n</code>）やタブ（<code>\t</code>）をまとめて判定できるため、<span class="st-mymarker-s-b">フォーム入力チェックで非常によく使われる方法</span>です。実際にさまざまな文字列を判定すると、次のような結果になります。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>value</th><th>結果</th></tr></thead><tbody><tr><td><code>""</code></td><td><code>true</code></td></tr><tr><td><code>" "</code></td><td><code>true</code></td></tr><tr><td><code>"　"</code></td><td><code>true</code></td></tr><tr><td><code>"\n\t"</code></td><td><code>true</code></td></tr><tr><td><code>" abc "</code></td><td><code>false</code></td></tr><tr><td><code>"hello"</code></td><td><code>false</code></td></tr></tbody></table></figure>



<div class="wp-block-st-blocks-memo clip-memobox" style="color:#bd081c;background-color:#fbf1f4;border-radius:3px"><div class="clip-fonticon" style="color:#bd081c;font-size:200%;border-color:#bd081c4d"><i class="st-fa st-svg-exclamation-circle st-css-no" data-icon-label="" aria-hidden=""></i></div><div class="clip-memotext" style="color:#bd081c">
<p><span class="huto">この方法では空文字(&#8220;&#8221;)もtrueになる点に注意してください。</span></p>
</div></div>



<h2 class="wp-block-heading"><span class="st-count">空白のみを厳密に判定したい場合（空文字は除外）</span></h2>



<p>「空白だけの入力はNGにしたいが、未入力（空文字）は別扱いにしたい」というケースもよくあります。その場合は、<span class="hutoaka">空文字でないことを先にチェック</span>することで対応できます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>const value = &quot;   &quot;;

const isOnlyWhitespaceStrict = value !== &quot;&quot; && value.trim() === &quot;&quot;;

console.log(isOnlyWhitespaceStrict); // true
</code></pre></div>



<p>この条件では、</p>



<ul class="wp-block-list">
<li><code>""</code> → <code>false</code></li>



<li><code>" "</code> → <code>true</code></li>
</ul>



<p>と、<span class="st-mymarker-s-b">未入力と空白入力を正確に区別できます。</span></p>



<p>実際にさまざまな文字列を判定すると、次のような結果になります。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>value</th><th>結果</th></tr></thead><tbody><tr><td><code>""</code></td><td><code>false</code></td></tr><tr><td><code>" "</code></td><td><code>true</code></td></tr><tr><td><code>"　"</code></td><td><code>true</code></td></tr><tr><td><code>"\n\t"</code></td><td><code>true</code></td></tr><tr><td><code>" abc "</code></td><td><code>false</code></td></tr><tr><td><code>"hello"</code></td><td><code>false</code></td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span class="st-count">空白が含まれているかどうかを判定（includes()を使う方法）</span></h2>



<p>文字列の中に「半角スペースが含まれているか」をシンプルに判定したい場合は<code>includes()</code>が便利です。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>const value = &quot;hello world&quot;;

const hasSpace = value.includes(&quot; &quot;);

console.log(hasSpace); // true</code></pre></div>



<p>なお、この方法で検出できるのは<span class="huto">半角スペース<code>" "</code> のみ</span>です。タブや改行、全角スペースは検出されない点に注意してください。</p>



<p>実際にさまざまな文字列を判定すると、次のような結果になります。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>value</th><th>結果</th></tr></thead><tbody><tr><td><code>""</code></td><td><code>false</code></td></tr><tr><td><code>" "</code></td><td><code>true</code></td></tr><tr><td><code>"　"</code></td><td><code>false</code></td></tr><tr><td><code>"\n\t"</code></td><td><code>false</code></td></tr><tr><td><code>" abc "</code></td><td><code>true</code></td></tr><tr><td><code>"hello"</code></td><td><code>false</code></td></tr><tr><td><code>"hello world"</code></td><td><code>true</code></td></tr><tr><td><code>"helloworld"</code></td><td><code>false</code></td></tr><tr><td><code>"hello　world"</code></td><td><code>false</code></td></tr><tr><td><code>"hello\tworld"</code></td><td><code>false</code></td></tr><tr><td><code>" hello"</code></td><td><code>true</code></td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span class="st-count">空白（スペース・タブ・改行）が含まれているかどうかを判定（正規表現を使う方法）</span></h2>



<p>「スペース・タブ・改行など、あらゆる空白文字が含まれているか」を調べたい場合は正規表現を使う方法が最適です。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>const value = &quot;hello\tworld&quot;;

const hasWhitespace = /\s/.test(value);

console.log(hasWhitespace); // true</code></pre></div>



<p><code>\s</code>は空白文字全般を表す正規表現です。</p>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">含まれるもの例</span></span></p><div class="free-inbox">
<ul class="wp-block-list">
<li>半角スペース</li>



<li>全角スペース</li>



<li>タブ（<code>\t</code>）</li>



<li>改行（<code>\n</code>）</li>
</ul>
</div></div>



<p>つまり、この方法は<span class="hutoaka">「空白文字全般が1つでも含まれているか」をチェックしたい場合に最適</span>です。</p>



<p>実際にさまざまな文字列を判定すると、次のような結果になります。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>value</th><th>結果</th></tr></thead><tbody><tr><td><code>""</code></td><td><code>false</code></td></tr><tr><td><code>" "</code></td><td><code>true</code></td></tr><tr><td><code>"　"</code></td><td><code>true</code></td></tr><tr><td><code>"\n\t"</code></td><td><code>true</code></td></tr><tr><td><code>" abc "</code></td><td><code>true</code></td></tr><tr><td><code>"hello"</code></td><td><code>false</code></td></tr><tr><td><code>"hello world"</code></td><td><code>true</code></td></tr><tr><td><code>"hello　world"</code></td><td><code>true</code></td></tr><tr><td><code>"hello\tworld"</code></td><td><code>true</code></td></tr><tr><td><code>"hello\nworld"</code></td><td><code>true</code></td></tr><tr><td><code>"helloworld"</code></td><td><code>false</code></td></tr></tbody></table></figure>



<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では『<span class="hutoaka">JavaScriptで文字列の空白をチェックする方法</span>』について、用途別に代表的な判定方法を解説しました。</p>



<p><span class="st-mymarker-s-b">「空文字なのか」「空白だけなのか」「空白文字が含まれているのか」は見た目が似ていてもチェック方法が異なるため、目的に応じて使い分けることが重要です。</span></p>



<p>最後に、用途別のおすすめ方法を整理しておきます。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>やりたいこと</th><th>方法</th></tr></thead><tbody><tr><td>空文字かどうか判定</td><td><code>value === ""</code></td></tr><tr><td>空白のみか判定</td><td><code>value.trim() === ""</code></td></tr><tr><td>空白のみを厳密に判定</td><td><code>value !== "" &amp;&amp; value.trim() === ""</code></td></tr><tr><td>半角スペースが含まれるか</td><td><code>includes(" ")</code></td></tr><tr><td>空白文字が含まれるか</td><td><code>/\s/.test(value)</code></td></tr></tbody></table></figure>



<p>入力チェックやフォームバリデーションを実装する際は、本記事の内容を参考に、状況に合った方法を選んでみてください。</p>



<p>最後までお読みいただき、ありがとうございました。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【VSCode】拡張機能を古いバージョンに戻す方法！アップデートで不具合が出たときの対処法</title>
		<link>https://it-infomation.com/vscode-extension-version-downgrade/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Tue, 06 Jan 2026 01:37:55 +0000</pubDate>
				<category><![CDATA[VSCode]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16270</guid>

					<description><![CDATA[VSCodeの拡張機能をアップデートしたら、以下のような不具合を経験したことはありませんか？ 拡張機能が正しく動作しなくなった 他の拡張機能やプロジェクト設定と競合するようになった 設定項目や仕様が変 ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>VSCodeの拡張機能をアップデートしたら、以下のような不具合を経験したことはありませんか？</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">拡張機能が正しく動作しなくなった</span></li>



<li><span class="huto">他の拡張機能やプロジェクト設定と競合するようになった</span></li>



<li><span class="huto">設定項目や仕様が変更され、従来の使い方ができなくなった</span></li>
</ul>



<p>このような場合、<span class="st-mymarker-s-b">拡張機能をひとつ前、または特定の過去バージョンに戻す</span>ことで問題が解決することがあります。</p>



<p>この記事では、<span class="hutoaka"><strong>VSCodeの拡張機能を古いバージョンに戻す方法</strong></span>を初心者の方にもわかりやすく解説します。</p>



<h2 class="wp-block-heading">なぜ拡張機能を古いバージョンに戻したくなるのか</h2>



<p>VSCodeの拡張機能は、デフォルト設定では自動的にアップデートされます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="482" src="https://it-infomation.com/wp-content/uploads/2026/01/1b7e859669f50916d953fde7e1c0e1bb.png" alt="なぜ拡張機能を古いバージョンに戻したくなるのか" class="wp-image-16279" srcset="https://it-infomation.com/wp-content/uploads/2026/01/1b7e859669f50916d953fde7e1c0e1bb.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/1b7e859669f50916d953fde7e1c0e1bb-300x141.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/1b7e859669f50916d953fde7e1c0e1bb-768x362.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>そのため、普段は拡張機能のバージョンを意識することはあまりありません。しかし、アップデートによって不具合が発生した場合、<span class="st-mymarker-s-b">VSCodeの拡張機能を古いバージョンに戻したくなる</span>ことがあると思います。</p>



<h2 class="wp-block-heading">VSCodeの拡張機能を古いバージョンに戻す手順</h2>



<p>ここでは一例として、Docker拡張機能のバージョンを<code>2.0.0</code> → <code>1.29.0</code>に戻す手順を紹介します。</p>



<p>まず、VSCodeの左側のメニューから「<span class="huto">拡張機能（四角が4つ並んだアイコン）</span>」をクリックし、一覧から「<span class="huto">バージョンを戻したい拡張機能（今回はDocker）</span>」を選択して詳細画面を開きます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="663" src="https://it-infomation.com/wp-content/uploads/2026/01/a13d2523c9ad35dfe7a2eb6e4c92bb61.png" alt="VSCodeの拡張機能を古いバージョンに戻す手順01" class="wp-image-16280" srcset="https://it-infomation.com/wp-content/uploads/2026/01/a13d2523c9ad35dfe7a2eb6e4c92bb61.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/a13d2523c9ad35dfe7a2eb6e4c92bb61-300x194.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/a13d2523c9ad35dfe7a2eb6e4c92bb61-768x497.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>拡張機能の詳細画面で「<span class="huto">アンインストール（Uninstall）</span>」ボタンの右側にあるドロップダウンをクリックします。そこから、「<span class="huto">特定のバージョンのインストール…（Install Specific Version…）</span>」を選択します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="665" src="https://it-infomation.com/wp-content/uploads/2026/01/23c2f977694523579441425f3632e72b.png" alt="VSCodeの拡張機能を古いバージョンに戻す手順02" class="wp-image-16281" srcset="https://it-infomation.com/wp-content/uploads/2026/01/23c2f977694523579441425f3632e72b.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/23c2f977694523579441425f3632e72b-300x195.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/23c2f977694523579441425f3632e72b-768x499.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>過去のバージョン一覧が表示されるので、「<span class="huto">インストールしたいバージョン（今回は<code>1.29.0</code>）</span>」を選択します。選択すると、そのバージョンが自動的にダウンロード・インストールされます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="655" src="https://it-infomation.com/wp-content/uploads/2026/01/e8f07af1ab9416f9373dacbc52efdaad.png" alt="VSCodeの拡張機能を古いバージョンに戻す手順03" class="wp-image-16282" srcset="https://it-infomation.com/wp-content/uploads/2026/01/e8f07af1ab9416f9373dacbc52efdaad.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/e8f07af1ab9416f9373dacbc52efdaad-300x192.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/e8f07af1ab9416f9373dacbc52efdaad-768x491.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>インストール完了後、「<span class="huto">拡張機能の再起動（Restart Extensions）</span>」ボタンが表示されるので、クリックして拡張機能を再起動します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="664" src="https://it-infomation.com/wp-content/uploads/2026/01/a3119522b49253fba474cc93ed177baf.png" alt="VSCodeの拡張機能を古いバージョンに戻す手順04" class="wp-image-16283" srcset="https://it-infomation.com/wp-content/uploads/2026/01/a3119522b49253fba474cc93ed177baf.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/a3119522b49253fba474cc93ed177baf-300x195.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/a3119522b49253fba474cc93ed177baf-768x498.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>拡張機能の詳細画面を確認すると、バージョンが<code>1.29.0</code>にバージョンダウンされていることがわかります。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="662" src="https://it-infomation.com/wp-content/uploads/2026/01/bf3c5cb55b870f95aa95d4842e6694d7.png" alt="VSCodeの拡張機能を古いバージョンに戻す手順05" class="wp-image-16284" srcset="https://it-infomation.com/wp-content/uploads/2026/01/bf3c5cb55b870f95aa95d4842e6694d7.png 1024w, https://it-infomation.com/wp-content/uploads/2026/01/bf3c5cb55b870f95aa95d4842e6694d7-300x194.png 300w, https://it-infomation.com/wp-content/uploads/2026/01/bf3c5cb55b870f95aa95d4842e6694d7-768x497.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>これで、拡張機能のバージョンダウンは完了です。</p>



<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では『<span class="hutoaka">VSCodeの拡張機能を古いバージョンに戻す方法</span>』について説明しました。</p>



<p>VSCodeの拡張機能は便利な反面、アップデートによって思わぬ不具合が起きることもあります。そんなときは、今回紹介したように過去のバージョンへ戻すことで、問題があっさり解決するケースも少なくありません。</p>



<p>拡張機能の動作がおかしいと感じたら、まずはバージョンを確認し、必要に応じてバージョンダウンを試してみてください。</p>



<p>お読みいただきありがとうございました。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Dockerコンテナの名前を指定する方法と変更する方法【--nameオプションとrenameコマンド】</title>
		<link>https://it-infomation.com/docker-container-name/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Thu, 25 Dec 2025 01:42:25 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16255</guid>

					<description><![CDATA[Dockerを使い始めると、次のような状況に遭遇することがよくあります。 コンテナ名がbeautiful_margulisみたいな自動生成名になっている 複数コンテナがあってどれがどれかわからなくなっ ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>Dockerを使い始めると、次のような状況に遭遇することがよくあります。</p>



<ul class="wp-block-list">
<li>コンテナ名が<code>beautiful_margulis</code>みたいな<span class="huto">自動生成名になっている</span></li>



<li>複数コンテナがあって<span class="huto">どれがどれかわからなくなった…</span></li>



<li><span class="huto">分かりやすいコンテナ名</span>を付けて管理したい！</li>
</ul>



<p>このような悩みを解決するのが<strong><code>--name</code>オプション</strong>です。</p>



<p>この記事では、次の内容を順番にわかりやすく解説します。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">Dockerコンテナの名前とは？</span></li>



<li><span class="huto"><code>--name</code>オプションの使い方</span></li>



<li><span class="huto">すでに作成済みのコンテナの名前を変更する方法</span></li>
</ul>



<h2 class="wp-block-heading">Dockerコンテナの名前とは？</h2>



<p>Dockerコンテナには、必ず1つの名前が付けられます。<span class="st-mymarker-s-b">Dockerコンテナ作成時に名前を指定しなかった場合、Dockerが自動でコンテナ名を付けます。</span>一例として、以下のコマンドを実行して、Ubuntuコンテナを起動してみましょう。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker run -it ubuntu:latest</code></pre></div>



<p>上記のコマンドでは、名前を指定していないため、Dockerがランダムなコンテナ名を付けます。作成されたコンテナを確認するために、<code>docker container ls -a</code>コマンドで作成されたDockerコンテナを確認してみると、<code>ubuntu:latest</code>イメージから作成されたDockerコンテナに<code>beautiful_margulis</code>という名前が自動で付けられたことがわかります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ docker container ls -a
CONTAINER ID   IMAGE           COMMAND       CREATED          STATUS          PORTS     NAMES
a3d7a24de312   ubuntu:latest   &quot;/bin/bash&quot;   59 seconds ago   Up 59 seconds             beautiful_margulis</code></pre></div>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">自動生成されたコンテナ名のデメリット</span></span></p><div class="free-inbox">
<p>自動生成された名前には、次のようなデメリットがあります。</p>



<ul class="wp-block-list is-style-st-circle">
<li>何の用途のコンテナか分かりにくい</li>



<li>コンテナが増えるほど管理しづらくなる</li>



<li>コマンド実行時に名前を間違えやすい</li>
</ul>



<p>そのため、<span class="st-mymarker-s-b">実運用や学習では、分かりやすい名前を自分で付けることが重要</span>です。</p>
</div></div>



<h2 class="wp-block-heading">Dockerコンテナの名前を指定する「&#8211;nameオプション」とは？</h2>



<p><code>--name</code>オプションは、<span class="hutoaka">Dockerコンテナ作成時に名前を指定するためのオプション</span>です。基本構文を以下に示します。</p>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">基本構文</span></span></p><div class="free-inbox">
<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker run [オプション] --name コンテナ名 イメージ名</code></pre></div>



<p>この構文では、</p>



<ul class="wp-block-list">
<li><code>--name コンテナ名</code>で<span class="huto">コンテナの名前を指定</span></li>



<li><code>イメージ名</code>で<span class="huto">どのイメージから作るかを指定</span></li>
</ul>



<p>しています。</p>
</div></div>



<p>例えば、以下のコマンドでは、Ubuntuコンテナに<code>my-ubuntu</code>という名前を付けて起動しています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker run -it --name my-ubuntu ubuntu:latest</code></pre></div>



<p>作成されたコンテナを確認するために、<code>docker container ls -a</code>コマンドで作成されたDockerコンテナを確認してみると、<code>ubuntu:latest</code>イメージから作成された名前が<code>my-ubuntu</code>のコンテナであることが、一目で分かるようになります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ docker container ls -a
CONTAINER ID   IMAGE           COMMAND       CREATED         STATUS         PORTS     NAMES
d727bbe25302   ubuntu:latest   &quot;/bin/bash&quot;   5 seconds ago   Up 5 seconds             my-ubuntu
a3d7a24de312   ubuntu:latest   &quot;/bin/bash&quot;   2 minutes ago   Up 2 minutes             beautiful_margulis</code></pre></div>



<div class="wp-block-st-blocks-memo clip-memobox" style="color:#000;background-color:#f1f4fb;border-radius:3px"><div class="clip-fonticon" style="color:#3b5998;font-size:200%;border-color:#3b59984d"><i class="st-fa st-svg-info-circle st-css-no" data-icon-label="" aria-hidden=""></i></div><div class="clip-memotext" style="color:#000">
<p>コンテナ名を付けるだけで、管理のしやすさが大きく向上します。</p>
</div></div>



<h2 class="wp-block-heading">すでに作成済みのコンテナの名前を変更する方法</h2>



<p>「Dockerコンテナを作った後で、<code>--name</code>を付け忘れたことに気づいた・・・」。このような場合でも安心です。Dockerでは<span class="st-mymarker-s-b">後からコンテナ名を変更</span>できます。基本構文を以下に示します。</p>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">基本構文</span></span></p><div class="free-inbox">
<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container rename 旧コンテナ名 新コンテナ名</code></pre></div>
</div></div>



<p>例えば、以下のコマンドでは、<code>beautiful_margulis</code>という名前のDockerコンテナを<code>rename-ubuntu</code>に変更しています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container rename beautiful_margulis rename-ubuntu</code></pre></div>



<p><code>docker container ls -a</code>コマンドでコンテナを確認してみると、<code>rename-ubuntu</code>に変更されたことがわかります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ docker container ls -a
CONTAINER ID   IMAGE           COMMAND       CREATED              STATUS              PORTS     NAMES
d727bbe25302   ubuntu:latest   &quot;/bin/bash&quot;   About a minute ago   Up About a minute             my-ubuntu
a3d7a24de312   ubuntu:latest   &quot;/bin/bash&quot;   3 minutes ago        Up 3 minutes                  rename-ubuntu</code></pre></div>



<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では『<span class="hutoaka">Dockerコンテナの名前の指定方法・変更方法</span>』について、以下の内容を説明しました。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-no-border has-background">
<li>Dockerコンテナには必ず名前が付く</li>



<li>名前を指定しないと、Dockerがランダムなコンテナ名を自動生成する</li>



<li><code>--name</code>オプションを使うと、コンテナ作成時に分かりやすい名前を付けられる</li>



<li><code>docker container rename</code>を使えば、後からコンテナ名の変更も可能</li>
</ul>



<p>お読みいただきありがとうございました。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Record型とは？「使い方」や「インデックス型との違い」を解説【TypeScript】</title>
		<link>https://it-infomation.com/typescript-record-type/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 06:04:05 +0000</pubDate>
				<category><![CDATA[TypeScript]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16236</guid>

					<description><![CDATA[TypeScriptでオブジェクトの型を定義していると、 キーと値の型をまとめて指定したい 決まったキーを必ず持つオブジェクトを表現したい と感じることはありませんか？そんなときに役立つのがRecor ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>TypeScriptでオブジェクトの型を定義していると、</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">キーと値の型をまとめて指定したい</span></li>



<li><span class="huto">決まったキーを必ず持つオブジェクトを表現したい</span></li>
</ul>



<p>と感じることはありませんか？そんなときに役立つのが<strong>Record型</strong>です。</p>



<p>この記事では、<strong>Record型の基本的な使い方、インデックス型との違い、実際の利用シーン</strong>を初心者の方にもわかりやすく解説します。</p>



<h2 class="wp-block-heading">Record型とは？</h2>



<p><span class="ymarker">Record型は<span class="hutoaka">TypeScriptに組み込まれているユーティリティ型</span>のひとつです。「<span class="hutoaka">キーの型</span>」と「<span class="hutoaka">値の型</span>」を指定することで、その条件に合ったオブジェクト型を自動で作ってくれます。</span></p>



<p>まずは、シンプルなサンプルコードを見てみましょう。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-ts" data-lang="TypeScript"><code>type ScoreBySubject = Record&lt;string, number&gt;;

const scores: ScoreBySubject = {
  math: 90,
  english: 85,
  science: 92,
};</code></pre></div>



<p>この<code>ScoreBySubject</code>型の意味は次のとおりです。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">キー：<code>string</code>型</span></li>



<li><span class="huto">値：<code>number</code>型</span></li>
</ul>



<p>つまり、「<span class="huto">キーが文字列で、値が数値のオブジェクト</span>」を表す型になります。</p>



<h3 class="wp-block-heading">Record型の基本構文</h3>



<p>Record型は、次のような形で使います。</p>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">基本構文</span></span></p><div class="free-inbox">
<div class="hcb_wrap"><pre class="prism line-numbers lang-ts" data-lang="TypeScript"><code>Record&lt;Keys, Type&gt;</code></pre></div>



<ul class="wp-block-list is-style-st-circle">
<li><code>Keys</code>
<ul class="wp-block-list">
<li>オブジェクトの<span class="huto">キーの型</span></li>
</ul>
</li>



<li><code>Type</code>
<ul class="wp-block-list">
<li>各キーに対応する<span class="huto">値の型</span></li>
</ul>
</li>
</ul>



<p><code>Keys</code>には、次の型（またはそのリテラル型）だけを指定できます。</p>



<ul class="wp-block-list is-style-st-circle">
<li><code>string</code></li>



<li><code>number</code></li>



<li><code>symbol</code></li>
</ul>
</div></div>



<h2 class="wp-block-heading">Record型とインデックス型の違い</h2>



<p>ここまでを見ると、「<span class="huto">Record型はインデックス型とほとんど同じでは？</span>」と感じるかもしれません。実際、先ほど示したサンプルコードはインデックス型でも以下のように書けます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-ts" data-lang="TypeScript"><code>type ScoreBySubject = {
  [key: string]: number;
};

const scores: ScoreBySubject = {
  math: 90,
  english: 85,
  science: 92,
};</code></pre></div>



<p>この段階では、Record型とインデックス型に大きな違いはなさそうに見えます。</p>



<p>しかし、Record型とインデックス型の大きな違いがあります。それは、<span class="hutoaka">Record型はキーを「特定の文字列（リテラル）」で厳密に指定できる点</span>です。次の例を見てみましょう。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-ts" data-lang="TypeScript"><code>type Person = Record&lt;&quot;familyName&quot; | &quot;givenName&quot; | &quot;nickname&quot;, string&gt;;

const person: Person = {
  familyName: &quot;Tanaka&quot;,
  givenName: &quot;Taro&quot;,
  nickname: &quot;Taro-san&quot;,
};</code></pre></div>



<p>この場合、<code>Person</code>型は次の条件を持ちます。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">必ず<code>familyName</code>、<code>givenName</code>、<code>nickname</code>という3つのプロパティを持つ。</span></li>



<li><span class="huto">各キーに対応する値はすべて<code>string</code>である。</span></li>
</ul>



<p>つまり、Record型は「<span class="st-mymarker-s-b">決まったキーを必ず持つオブジェクト</span>」を型として表現できます。</p>



<p>インデックス型でこのような定義をしたい場合、以下のようにエラーとなってしまいます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1024" height="398" src="https://it-infomation.com/wp-content/uploads/2025/12/d8788a70291f429e5f90acb37997807b.png" alt="Record型とインデックス型の違い" class="wp-image-16251" srcset="https://it-infomation.com/wp-content/uploads/2025/12/d8788a70291f429e5f90acb37997807b.png 1024w, https://it-infomation.com/wp-content/uploads/2025/12/d8788a70291f429e5f90acb37997807b-300x117.png 300w, https://it-infomation.com/wp-content/uploads/2025/12/d8788a70291f429e5f90acb37997807b-768x299.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>そのため、インデックス型で書く場合には、次のようになります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-ts" data-lang="TypeScript"><code>type Person = {
  [key: string]: string;
};

const person: Person = {
  familyName: &quot;Tanaka&quot;,
  givenName: &quot;Taro&quot;,
  nickname: &quot;Taro-san&quot;,
};</code></pre></div>



<p>この場合、<code>familyName</code>、<code>givenName</code>、<code>nickname</code>が必須であるという制約は表現できません。</p>



<h2 class="wp-block-heading">Record型の内部</h2>



<p>実は、Record型は内部的に<code>Mapped Types</code>を使って定義されています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-ts" data-lang="TypeScript"><code>type Record&lt;K extends keyof any, T&gt; = {
  [P in K]: T;
};</code></pre></div>



<p>このコードの意味を簡単に説明すると、</p>



<ul class="wp-block-list">
<li><code>K</code>で受け取ったキーの集合を</li>



<li><code>P in K</code>で1つずつ取り出し</li>



<li>それぞれに<code>T</code>型の値を割り当てる</li>
</ul>



<p>という仕組みです。つまり、<span class="st-mymarker-s-b">「指定されたキーをすべて持つオブジェクト型を作る」ための型</span>というわけです。</p>



<h2 class="wp-block-heading">Record型の使い道</h2>



<p>使い道としては、<span class="st-mymarker-s-b">入れ子になったオブジェクトの型を簡潔に書ける</span>というものが挙げられます。例えば、次のような構造を考えてみます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-ts" data-lang="TypeScript"><code>type Account = {
  email: string;
  isActive: boolean;
};

type Accounts = {
  admin: Account;
  editor: Account;
  viewer: Account;
};</code></pre></div>



<p>このように同じ型を何度も書くのは、少し冗長です。Record型を使うと、以下のように書くことができます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-ts" data-lang="TypeScript"><code>type Account = {
  email: string;
  isActive: boolean;
};

type Role = &quot;admin&quot; | &quot;editor&quot; | &quot;viewer&quot;;

type Accounts = Record&lt;Role, Account&gt;;</code></pre></div>



<p>これで、<code>Accounts</code>型は</p>



<ul class="wp-block-list">
<li><code>"admin" | "editor" | "viewer"</code>のキーを必ず持つ</li>



<li>各値はすべて<code>Account</code>型</li>
</ul>



<p>というオブジェクト型をシンプルに定義することができます。</p>



<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では『<span class="hutoaka">Record型</span>』について説明しました。</p>



<p>Record型は<span class="st-mymarker-s-b">「キーの型」と「値の型」を指定するだけで、条件に合ったオブジェクト型を簡潔に定義できる便利なユーティリティ型</span>です。</p>



<p>特に、以下のような場合にRecord型は大きな力を発揮します。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">決まったキーを必ず持つオブジェクトを表現したいとき</span></li>



<li><span class="huto">同じ型の値を持つオブジェクトをシンプルに書きたいとき</span></li>
</ul>



<p>ぜひ実際のコードでRecord型を活用してみてください。</p>



<p>お読みいただきありがとうございました。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【TypeScript】tscコマンドの実行時に「command not found」となる原因と対処法！</title>
		<link>https://it-infomation.com/typescript-tsc-command-not-found/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 04:46:08 +0000</pubDate>
				<category><![CDATA[TypeScript]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16224</guid>

					<description><![CDATA[TypeScriptを使い始めたとき、次のようなエラーに遭遇したことはありませんか？ bash: tsc: command not found tscはTypeScript Compilerの略で、. ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>TypeScriptを使い始めたとき、次のようなエラーに遭遇したことはありませんか？</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>bash: tsc: command not found</code></pre></div>



<p><code>tsc</code>は<span class="huto">TypeScript Compiler</span>の略で、<span class="huto"><code>.ts</code>ファイルを<code>.js</code>ファイルに変換（コンパイル）するためのコマンド</span>です。そのため、このエラーが出るとTypeScriptを一切コンパイルできず、先に進めなくなります。</p>



<p>この記事では、以下の内容をわかりやすく解説します。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">なぜ「<code>tsc: command not found</code>」が出るのか</span></li>



<li><span class="huto">どうすればこのエラーを解決できるのか</span></li>
</ul>



<h2 class="wp-block-heading">「tsc: command not found」が出る原因</h2>



<p>このエラーが出る原因は、ほとんどの場合、次のいずれかです。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">TypeScriptがインストールされていない</span></li>



<li><span class="huto">TypeScriptは入っているが<code>PATH</code>が通っていない</span></li>
</ul>



<p>まずは「<span class="st-mymarker-s-b">TypeScriptがインストールされているか</span>」を確認しましょう。</p>



<h3 class="wp-block-heading">原因：TypeScriptがインストールされていない</h3>



<p>最初に、TypeScriptがグローバルインストールされているかを確認します。以下のコマンドを実行してください。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>npm list -g --depth=0</code></pre></div>



<p>実行結果の一覧に、以下のような表示があればTypeScriptはインストールされています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ npm list -g --depth=0
C:\Users\ユーザー名\AppData\Roaming\npm
└── typescript@5.x.x</code></pre></div>



<p><code>typescript</code>が表示されない場合は、まだインストールされていません。その場合は、次のコマンドでTypeScriptをグローバルインストールします。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>npm install -g typescript</code></pre></div>



<p>インストール後、以下のコマンドを実行してみてください。バージョンが表示されれば、インストール自体は成功しています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>tsc -v</code></pre></div>



<h3 class="wp-block-heading">原因：TypeScriptは入っているがPATHが通っていない</h3>



<p>TypeScriptがグローバルインストールされているにも関わらず、<code>tsc</code>コマンドの実行時に<code>command not found</code>が表示される場合には、<code>PATH</code>が通っていない状態です。まず、<code>npm</code>のグローバルインストール先を以下のコマンドで確認します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>npm config get prefix</code></pre></div>



<p>実行すると、以下のようにグローバルインストール先がわかり、このディレクトリの中に<code>tsc</code>コマンドが実体として存在しています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ npm config get prefix
C:\Users\ユーザー名\AppData\Roaming\npm</code></pre></div>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">補足</span></span></p><div class="free-inbox">
<p>以降では以下のコマンドで<code>tsc</code>の場所を確認できました。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>npm bin -g</code></pre></div>



<p>しかし、<span class="st-mymarker-s-b">npm v9以降ではこのコマンドは廃止</span>されています。そのため、npm v9以降では次のようなエラーが出ます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ npm bin -g
Unknown command: &quot;bin&quot;

To see a list of supported npm commands, run:
  npm help</code></pre></div>
</div></div>



<p>TypeScriptをグローバルにインストールしていても、<span class="huto"><code>PATH</code>に<code>npm</code>のグローバルディレクトリが含まれていないと<code>tsc</code>は実行できません。</span>PATHを通すために、<code>~/.bashrc</code>（または環境によっては<code>~/.bash_profile</code>や<code>~/.zshrc</code>）に、次の一行を追加してください。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>export PATH=&quot;$PATH:/c/Users/ユーザー名/AppData/Roaming/npm&quot;</code></pre></div>



<div class="wp-block-st-blocks-memo clip-memobox" style="color:#000;background-color:#f1f4fb;border-radius:3px"><div class="clip-fonticon" style="color:#3b5998;font-size:200%;border-color:#3b59984d"><i class="st-fa st-svg-info-circle st-css-no" data-icon-label="" aria-hidden=""></i></div><div class="clip-memotext" style="color:#000">
<p><code>ユーザー名</code>は<span class="huto">自分の環境のユーザー名</span>に置き換えてください。</p>
</div></div>



<p>設定を反映するため、以下のコマンドを実行します（<code>.bash_profile</code>に書いた場合は<code>source ~/.bash_profile</code>）。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>source ~/.bashrc</code></pre></div>



<p>最後に、<code>tsc</code>が使えるか確認するため、以下のコマンドを実行してみてください。バージョンが表示されれば、インストール自体は成功しています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>tsc -v</code></pre></div>



<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では「<code>tsc: command not found</code>」について説明しました。</p>



<p>「<code>tsc: command not found</code>」は、<span class="st-mymarker-s-b">TypeScriptのインストールやPATH設定が原因で発生することがほとんど</span>です。</p>



<ul class="wp-block-list">
<li><span class="huto">TypeScriptがインストールされているか</span></li>



<li><span class="huto">npmのグローバルディレクトリに<code>PATH</code>が通っているか</span></li>
</ul>



<p>この2点を確認すれば、多くの場合は解決できます。同じエラーで困っている方の参考になれば幸いです。</p>



<p>お読みいただきありがとうございました。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>docker run時にENTRYPOINTとCMDを上書きする方法！</title>
		<link>https://it-infomation.com/docker-run-override-entrypoint-cmd/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 01:57:28 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16208</guid>

					<description><![CDATA[Dockerを使っていると、次のような疑問を持つことはありませんか？ docker container runしたら、思っていたコマンドと違うものが実行された ENTRYPOINTやCMDを一時的に変 ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>Dockerを使っていると、次のような疑問を持つことはありませんか？</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto"><code>docker container run</code>したら、思っていたコマンドと違うものが実行された</span></li>



<li><span class="huto"><code>ENTRYPOINT</code>や<code>CMD</code>を一時的に変えて実行したい</span></li>



<li><span class="huto">Dockerfileを書き換えずに、起動時の動作だけ変えたい</span></li>
</ul>



<p>そんなときに非常に便利なのが、<strong><code>docker container run</code>(<code>docker run</code>)時に<code>ENTRYPOINT</code>や<code>CMD</code>を上書きする方法</strong>です。</p>



<h2 class="wp-block-heading">そもそもENTRYPOINTとCMDとは？</h2>



<p><code>ENTRYPOINT</code>と<code>CMD</code>は、<span class="hutoaka">コンテナ起動時に実行されるコマンドを決める設定</span>です。ただし、それぞれの役割は明確に分かれています。</p>



<p><code>ENTRYPOINT</code>は「必ず実行されるメインのコマンド」です。</p>



<p>一方、<code>CMD</code>は、</p>



<ul class="wp-block-list is-style-st-circle">
<li><code>ENTRYPOINT</code>が定義されている場合は、<code>ENTRYPOINT</code>に渡されるデフォルト引数（<code>args</code>）</li>



<li><code>ENTRYPOINT</code>が定義されていない場合は、コンテナ起動時にデフォルトで実行されるコマンド</li>
</ul>



<p>という 2つの役割を持つ設定になります。</p>



<p>例えば、Dockerfileが次のように書かれているとします。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-dockerfile" data-lang="Docker"><code>ENTRYPOINT [&quot;echo&quot;]
CMD [&quot;Hello, World!&quot;]</code></pre></div>



<p>この場合、コンテナ起動時に実行される実際のコマンドは以下のようになります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>echo Hello, World!</code></pre></div>



<p>重要なのは、<span class="huto"><code>ENTRYPOINT</code> + <code>CMD</code>が合体して1つのコマンドになる</span>という点です。この前提を理解していないと、<code>docker run</code>時の上書き挙動が分かりにくくなります。</p>



<h2 class="wp-block-heading">docker runでENTRYPOINTを上書きする方法</h2>



<p><code>ENTRYPOINT</code>を上書きする場合は、「<code>--entrypoint</code>オプション」を使います。基本構文を以下に示します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container run --entrypoint &lt;新しいENTRYPOINT&gt; イメージ名</code></pre></div>



<p>例えば、Dockerfileで<code>ENTRYPOINT</code>に<code>echo</code>が設定されているイメージを、<code>ls</code>に変えたい場合には、以下のコマンドを実行します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container run --entrypoint ls sample-image</code></pre></div>



<p>この場合、Dockerfileに設定されていたENTRYPOINT（<code>echo</code>）は無視され、代わりに<code>ls</code>が新しい<code>ENTRYPOINT</code>として使われます。なお、<code>CMD</code>が定義されている場合、<code>CMD</code>は新しい<code>ENTRYPOINT</code>の引数（<code>args</code>）として渡されます。結果として実行されるコマンドは、以下のようになります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-dockerfile" data-lang="Docker"><code>ls &quot;Hello, World!&quot;</code></pre></div>



<h2 class="wp-block-heading">docker runでCMDを上書きする方法</h2>



<p><code>CMD</code>を上書きする場合は、イメージ名の後ろに「新しい<code>CMD</code>」を指定します。基本構文を以下に示します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container run イメージ名 &lt;新しいCMD配列の1要素目&gt; &lt;新しいCMD配列の2要素目&gt; ...</code></pre></div>



<p>例えば、DockerfileでCMDに<code>["Hello, World!"]</code>が設定されているイメージを、<code>["Docker is fun!"]</code>に変えたい場合には、以下のコマンドを実行します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container run sample-image &quot;Docker is fun!&quot;</code></pre></div>



<p>この場合、<code>ENTRYPOINT</code>はDockerfileに書かれているもの（<code>echo</code>）が使われ、<code>CMD</code> だけが<code>["Docker is fun!"]</code>に置き換わります。結果として実行されるコマンドは、以下のようになります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-dockerfile" data-lang="Docker"><code>echo Docker is fun!</code></pre></div>



<h2 class="wp-block-heading">docker runでENTRYPOINTとCMDを上書きする方法</h2>



<p><code>ENTRYPOINT</code>と<code>CMD</code>の両方を上書きしたい場合は、「<code>--entrypoint</code>オプション」と「新しい<code>CMD</code>」を組み合わせます。基本構文を以下に示します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container run --entrypoint &lt;新しいENTRYPOINT&gt; イメージ名 &lt;新しいCMD配列の1要素目&gt; &lt;新しいCMD配列の2要素目&gt; ...</code></pre></div>



<p>例えば、<code>ENTRYPOINT</code>を<code>printf</code>、CMDを<code>["Hello %s\n", "Docker"]</code>にしたい場合には、以下のコマンドを実行します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container run --entrypoint printf sample-image &quot;Hello %s\n&quot; Docker</code></pre></div>



<p>結果として実行されるコマンドは、以下のようになります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-dockerfile" data-lang="Docker"><code>printf &quot;Hello %s\n&quot; Docker</code></pre></div>



<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では『<span class="hutoaka">docker container run時にENTRYPOINTとCMDを上書きする方法</span>』について説明しました。</p>



<p>Dockerの<code>ENTRYPOINT</code>と<code>CMD</code>は、一見すると似ていますが、役割はまったく異なります。</p>



<p><code>docker container run</code>時の挙動を正しく理解するためには、<span class="huto">「<code>ENTRYPOINT</code> + <code>CMD</code>が合体して1つのコマンドになる」</span>という前提を押さえることが非常に重要です。</p>



<p>今回紹介した方法を使うと、<code>docker container run</code>の指定だけでコンテナの動きを変えられます。</p>



<ul class="wp-block-list">
<li><code>--entrypoint</code>を使えば<code>ENTRYPOINT</code>を一時的に差し替えられる</li>



<li>イメージ名の後ろに<code>CMD</code>を指定すれば<code>CMD</code>だけを上書きできる</li>
</ul>



<p>これらを使い分けることで、<span class="st-mymarker-s-b">Dockerfileを修正しなくても、起動時のコマンドを自由に試せる</span>ようになります。「ちょっと別のコマンドで動かしてみたいとき」や「本番用イメージをそのまま使って中身を確認したいとき」に、非常に便利なテクニックです。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>docker image inspectとは？Dockerイメージの設定を確認する方法を解説！</title>
		<link>https://it-infomation.com/docker-image-inspect/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Mon, 22 Dec 2025 06:26:09 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16191</guid>

					<description><![CDATA[Dockerを使っていると、次のような疑問を持つことはありませんか？ このDockerイメージはどんな設定で作られているんだろう？ ENTRYPOINTやCMDには何が設定されている？ どのポートがE ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>Dockerを使っていると、次のような疑問を持つことはありませんか？</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">このDockerイメージはどんな設定で作られているんだろう？</span></li>



<li><span class="huto"><code>ENTRYPOINT</code>や<code>CMD</code>には何が設定されている？</span></li>



<li><span class="huto">どのポートが<code>EXPOSE</code>されている？</span></li>



<li><span class="huto">環境変数（<code>ENV</code>）は？</span></li>
</ul>



<p>そんなときに活躍するのが<strong><code>docker image inspect</code></strong>コマンドです。</p>



<h2 class="wp-block-heading">docker image inspectとは？</h2>



<p><code>docker image inspect</code>は<span class="hutoaka">Dockerイメージの詳細情報（メタデータ）を確認するためのコマンド</span>です。</p>



<p>イメージの中身（ファイル一覧）を見るコマンドではなく、<span class="st-mymarker-s">イメージが「どういう設定で作られているか」</span>を確認するためのコマンドになります。</p>



<p><code>docker image inspect</code>は、次のような場面でよく使われます。</p>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">docker image inspectが使われる場面</span></span></p><div class="free-inbox">
<ul class="wp-block-list">
<li><span class="huto">イメージの構成を確認したいとき</span>
<ul class="wp-block-list">
<li>環境変数（<code>ENV</code>）や作業ディレクトリ（<code>WORKDIR</code>）を確認したい</li>
</ul>
</li>



<li><span class="huto">コンテナ起動時の動作を調べたいとき</span>
<ul class="wp-block-list">
<li><code>ENTRYPOINT</code>や<code>CMD</code>の設定を確認したい</li>
</ul>
</li>



<li><span class="huto">公開ポートを確認したいとき</span>
<ul class="wp-block-list">
<li><code>EXPOSE</code>でどのポートが指定されているかを調べたい</li>
</ul>
</li>



<li><span class="huto">イメージの作成日時を確認したいとき</span>
<ul class="wp-block-list">
<li>古いイメージかどうかを判断したい</li>
</ul>
</li>
</ul>
</div></div>



<h3 class="wp-block-heading">docker image inspectで分かること</h3>



<p><code>docker image inspect</code>を使うと、次のような情報が確認できます。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li>イメージID</li>



<li>作成日時</li>



<li>ベースイメージ情報</li>



<li>レイヤー構成</li>



<li>環境変数（<code>ENV</code>）</li>



<li>作業ディレクトリ（<code>WORKDIR</code>）</li>



<li><code>EXPOSE</code>されているポート</li>



<li><code>ENTRYPOINT</code> / <code>CMD</code></li>



<li>OS / アーキテクチャ</li>
</ul>



<p>つまり、「<span class="huto">Dockerfileに書かれている内容 + Dockerが内部で管理している情報</span>」をすべて確認できます。</p>



<h2 class="wp-block-heading">docker image inspectの基本構文</h2>



<p><code>docker image inspect</code>の構文を以下に示します。</p>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">docker image inspectの構文</span></span></p><div class="free-inbox">
<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker image inspect [オプション] &lt;イメージ名またはイメージID&gt;</code></pre></div>
</div></div>



<p>例えば、<code>nginx:latest</code>のDockerイメージの設定を確認する場合、以下のコマンドを実行します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker image inspect nginx:latest</code></pre></div>



<h2 class="wp-block-heading">docker image inspectを実際に実行してみる</h2>



<p>それでは、実際に動かしながら<code>docker image inspect</code>について学んでみましょう。ここでは、<code>nginx:latest</code>のDockerイメージの設定を確認するために以下のコマンドを実行します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code># nginx:latestイメージを pull
docker image pull nginx:latest

# nginx:latestイメージの詳細情報を表示
docker image inspect nginx:latest</code></pre></div>



<p>このコマンドを実行すると、JSON形式で大量の情報が出力されます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-json" data-lang="JSON"><code>[
    {
        &quot;Id&quot;: &quot;sha256:fb01117203ff38c2f9af91db1a7409459182a37c87cced5cb442d1d8fcc66d19&quot;,
        &quot;RepoTags&quot;: [
            &quot;nginx:latest&quot;
        ],
        &quot;RepoDigests&quot;: [
            &quot;nginx@sha256:fb01117203ff38c2f9af91db1a7409459182a37c87cced5cb442d1d8fcc66d19&quot;
        ],
        &quot;Comment&quot;: &quot;buildkit.dockerfile.v0&quot;,
        &quot;Created&quot;: &quot;2025-12-09T22:51:13.902320549Z&quot;,
        &quot;Config&quot;: {
            &quot;ExposedPorts&quot;: {
                &quot;80/tcp&quot;: {}
            },
            &quot;Env&quot;: [
                &quot;PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&quot;,
                &quot;NGINX_VERSION=1.29.4&quot;,
                &quot;NJS_VERSION=0.9.4&quot;,
                &quot;NJS_RELEASE=1~trixie&quot;,
                &quot;PKG_RELEASE=1~trixie&quot;,
                &quot;DYNPKG_RELEASE=1~trixie&quot;
            ],
            &quot;Entrypoint&quot;: [
                &quot;/docker-entrypoint.sh&quot;
            ],
            &quot;Cmd&quot;: [
                &quot;nginx&quot;,
                &quot;-g&quot;,
                &quot;daemon off;&quot;
            ],
            &quot;Labels&quot;: {
                &quot;maintainer&quot;: &quot;NGINX Docker Maintainers &lt;docker-maint@nginx.com&gt;&quot;
            },
            &quot;StopSignal&quot;: &quot;SIGQUIT&quot;
        },
        &quot;Architecture&quot;: &quot;amd64&quot;,
        &quot;Os&quot;: &quot;linux&quot;,
        &quot;Size&quot;: 59795293,
        &quot;RootFS&quot;: {
            &quot;Type&quot;: &quot;layers&quot;,
            &quot;Layers&quot;: [
                &quot;sha256:77a2b55fbe8b9984ce0af3ffc0b0ab62507668e63306ec161a585e587a3eb164&quot;,
                &quot;sha256:20cf308e6957f546aeb5c3358b908dde65f85d4c3e321a1306bfb2a5002b0147&quot;,
                &quot;sha256:69f56ce8c461dc57973b448f1a17aacfa5bc674b8e23f709d58b5fd2a7e6e6f8&quot;,
                &quot;sha256:6898c33749d555cdd3df4ba0279a08a58e3b8faaa80bcf76ca71f35ed87e5e0b&quot;,
                &quot;sha256:6e32bc56a7253358b6292d5b9e9d473397818ccebaec6edd88d20c7ab508fa4e&quot;,
                &quot;sha256:08ba9962589fcdea2592d16bf47a4c299711e9e394b90bf11a830f3b9c9fa580&quot;,
                &quot;sha256:8921786c2de3800947893b21f0585eeabc26f7f5a486de5d0ee085596d16d0cc&quot;
            ]
        },
        &quot;Metadata&quot;: {
            &quot;LastTagTime&quot;: &quot;2025-12-22T05:18:20.801350755Z&quot;
        },
        &quot;Descriptor&quot;: {
            &quot;mediaType&quot;: &quot;application/vnd.oci.image.index.v1+json&quot;,
            &quot;digest&quot;: &quot;sha256:fb01117203ff38c2f9af91db1a7409459182a37c87cced5cb442d1d8fcc66d19&quot;,
            &quot;size&quot;: 10229
        }
    }
]</code></pre></div>



<h2 class="wp-block-heading">docker image inspectの出力内容</h2>



<p><code>docker image inspect</code>の出力内容において、<span class="st-mymarker-s-b">実務・学習で特によく見る項目</span>を厳選して解説します。</p>



<h3 class="wp-block-heading">Id（イメージID）</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-json" data-lang="JSON"><code>&quot;Id&quot;: &quot;sha256:fb01117203ff38c2f9af91db1a7409459182a37c87cced5cb442d1d8fcc66d19&quot;,</code></pre></div>



<p>Dockerイメージを一意に識別するIDです。同じビルド成果物であればタグ（<code>nginx:latest</code>など）が変わってもIDは固定ですが、タグが別のイメージを指すようになるとIDは変わります。</p>



<h3 class="wp-block-heading">Created（作成日時）</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-json" data-lang="JSON"><code>&quot;Created&quot;: &quot;2025-12-09T22:51:13.902320549Z&quot;,</code></pre></div>



<p>イメージが作成された日時です。「古いイメージを使っていないか？」の確認にも使えます。</p>



<h3 class="wp-block-heading">Config.Env（環境変数）</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-json" data-lang="JSON"><code>&quot;Env&quot;: [
    &quot;PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&quot;,
    &quot;NGINX_VERSION=1.29.4&quot;,
    &quot;NJS_VERSION=0.9.4&quot;,
    &quot;NJS_RELEASE=1~trixie&quot;,
    &quot;PKG_RELEASE=1~trixie&quot;,
    &quot;DYNPKG_RELEASE=1~trixie&quot;
],</code></pre></div>



<p>Dockerfileの<code>ENV</code>命令で設定された環境変数です。この環境変数は、コンテナ起動時にそのまま利用されます。上記の出力結果から、Nginxのバージョンが<code>1.29.4</code>に設定されていることや、実行時の<code>PATH</code>が確認できます。</p>



<h3 class="wp-block-heading">Config.ExposedPorts（公開ポート）</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-json" data-lang="JSON"><code>&quot;ExposedPorts&quot;: {
    &quot;80/tcp&quot;: {}
},</code></pre></div>



<p>Dockerfileの<code>EXPOSE</code>に対応します。この項目は、「イメージがデフォルトで開放しているポート」を示します。nginxイメージでは、HTTP用の80番ポートが指定されています。なお、<code>EXPOSE</code>は「公開する予定のポート」を示すだけで、実際に公開されるかどうかは<code>-p</code>オプション次第です。</p>



<h3 class="wp-block-heading">Config.Cmd / Config.Entrypoint</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-json" data-lang="JSON"><code>&quot;Entrypoint&quot;: [
    &quot;/docker-entrypoint.sh&quot;
],
&quot;Cmd&quot;: [
    &quot;nginx&quot;,
    &quot;-g&quot;,
    &quot;daemon off;&quot;
],</code></pre></div>



<ul class="wp-block-list">
<li><code>CMD</code>：デフォルトで実行されるコマンド</li>



<li><code>ENTRYPOINT</code>：常に実行されるメインコマンド</li>
</ul>



<p><code>ENTRYPOINT</code>と<code>CMD</code>は組み合わさって実行されることが多く、nginxイメージでは<code>/docker-entrypoint.sh nginx -g "daemon off;"</code>のような形で最終的なコマンドが構成されます。</p>



<h2 class="wp-block-heading">特定の項目だけを確認する（&#8211;format）</h2>



<p><code>docker image inspect</code>は、そのまま実行すると大量の情報が表示されます。必要な情報だけを絞り込んで取得・表示するためには、<code>--format</code>オプションを使います。</p>



<h3 class="wp-block-heading">CMDだけ確認する</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ docker image inspect --format &#39;{{.Config.Cmd}}&#39; nginx:latest
[nginx -g daemon off;]</code></pre></div>



<h3 class="wp-block-heading">ENTRYPOINTだけ確認する</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ docker image inspect --format &#39;{{.Config.Entrypoint}}&#39; nginx:latest
[/docker-entrypoint.sh]</code></pre></div>



<h3 class="wp-block-heading">環境変数だけ確認する</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ docker image inspect --format &#39;{{.Config.Env}}&#39; nginx:latest
[PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NGINX_VERSION=1.29.4 NJS_VERSION=0.9.4 NJS_RELEASE=1~trixie PKG_RELEASE=1~trixie DYNPKG_RELEASE=1~trixie]</code></pre></div>



<h3 class="wp-block-heading">イメージIDだけ確認する</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ docker image inspect --format=&#39;{{.Id}}&#39; nginx:latest
sha256:fb01117203ff38c2f9af91db1a7409459182a37c87cced5cb442d1d8fcc66d19</code></pre></div>



<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では<strong><code>docker image inspect</code></strong>コマンドについて説明しました。</p>



<p><code>docker image inspect</code>は、Dockerイメージが<span class="hutoaka">どのような設定で作られているかを確認するための基本かつ重要なコマンド</span>です。<code>ENTRYPOINT</code>・<code>CMD</code>・環境変数・<code>EXPOSE</code>ポートなどを事前に把握しておくことで、コンテナ起動時の挙動を正しく理解できます。</p>



<p>Dockerイメージの中身を理解する第一歩として、ぜひ活用してみてください。</p>



<p>お読みいただきありがとうございました。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>docker container execとは？UP状態のコンテナにコマンドを実行する方法を解説！</title>
		<link>https://it-infomation.com/docker-container-exec/</link>
		
		<dc:creator><![CDATA[IT information]]></dc:creator>
		<pubDate>Mon, 22 Dec 2025 02:45:38 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://it-infomation.com/?p=16178</guid>

					<description><![CDATA[Dockerを使っていると、「すでに起動しているコンテナの中で、後からコマンドを実行したい」という場面によく遭遇します。そんなときに活躍するのがdocker container execコマンドです。 ... <p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[
<p>Dockerを使っていると、「<span class="hutoaka">すでに起動しているコンテナの中で、後からコマンドを実行したい</span>」という場面によく遭遇します。そんなときに活躍するのが<strong><code>docker container exec</code></strong>コマンドです。</p>



<p>この記事では、<code>docker container exec</code>について、以下の内容をわかりやすく解説します。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-no-border has-background">
<li><span class="huto"><code>docker container exec</code>とは？</span></li>



<li><span class="huto"><code>docker container exec</code>の構文</span></li>



<li><span class="huto"><code>docker container exec</code>の動作を確認する</span></li>
</ul>



<h2 class="wp-block-heading">docker container execとは？</h2>



<p><code>docker container exec</code>は<span class="hutoaka">すでに起動している（UP状態の）コンテナに対して、新しくコマンドを実行するためのコマンド</span>です。</p>



<p><code>docker container exec</code>には、次のような特徴があります。</p>



<ul style="background-color:#f1f4fb" class="wp-block-list is-style-st-circle has-background">
<li><span class="huto">対象は「起動中（UP）」のコンテナのみ</span></li>



<li><span class="huto">コンテナを停止・再起動しない</span></li>



<li><span class="huto">コマンドを一時的に実行できる</span></li>



<li><span class="huto"><code>bash</code>などのシェルを起動して中に入ることもできる</span></li>
</ul>



<h3 class="wp-block-heading">docker container execの構文</h3>



<p><code>docker container exec</code>の構文を以下に示します。</p>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f1f4fb;border-color:#3b5998;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#3b5998;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#3b5998;border-radius:0 0 5px 0"><span class="freebox-title-text">docker container execの構文</span></span></p><div class="free-inbox">
<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container exec [オプション] &lt;コンテナ名またはコンテナID&gt; &lt;実行したいコマンド&gt;</code></pre></div>



<ul class="wp-block-list is-style-st-circle">
<li><code>docker container exec</code>
<ul class="wp-block-list">
<li>起動中のコンテナでコマンドを実行する</li>
</ul>
</li>



<li><code>コンテナ名またはコンテナID</code>
<ul class="wp-block-list">
<li>操作対象となるコンテナ名またはコンテナID</li>
</ul>
</li>



<li><code>実行したいコマンド</code>
<ul class="wp-block-list">
<li>コンテナ内で実行するコマンド</li>
</ul>
</li>
</ul>



<p><code>docker exec [オプション] &lt;コンテナ名またはコンテナID> &lt;実行したいコマンド></code>でも動作しますが、こちらは旧コマンドです。</p>
</div></div>



<p>例えば、<code>my-ubuntu</code>という起動中のコンテナに対して<code>ls</code>コマンドを実行する場合は、次のように書きます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container exec my-ubuntu ls</code></pre></div>



<p>これは、「<span class="huto">起動中の<code>my-ubuntu</code>コンテナに対して、外部（ホスト側）から<code>ls</code>コマンドを実行する</span>」という意味になります。</p>



<p><code>bash</code>を起動して、コンテナの中に入る場合は、次のように書きます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container exec -it my-ubuntu bash</code></pre></div>



<p>このコマンドを実行すると、<span class="huto">起動中の<code>my-ubuntu</code>コンテナに後から入る</span>ことができます。</p>



<h3 class="wp-block-heading">docker container execの動作を確認する</h3>



<p>次の流れで<code>docker container exec</code>の動きを確認します。</p>



<div class="wp-block-st-blocks-midashi-box freebox has-title" style="background-color:#f7f7f7;border-color:#777777;border-radius:0 5px 5px 5px"><p class="p-free" style="border-color:#777777;font-weight:bold"><span class="p-entry-f" style="color:#ffffff;font-weight:bold;background-color:#777777;border-radius:0 0 5px 0"><i class="st-fa st-svg-file-text-o st-css-no" aria-hidden=""></i><span class="freebox-title-text">確認の流れ</span></span></p><div class="free-inbox">
<ul class="wp-block-list is-style-st-no-border">
<li>Ubuntuコンテナを起動</li>



<li>コンテナ内で<code>sample.txt</code>を作成</li>



<li>別ターミナルから<code>docker container exec</code>を実行</li>
</ul>
</div></div>



<h4 class="wp-block-heading"><span class="st-count">Ubuntuコンテナを起動</span></h4>



<p>まずは、事前準備としてUbuntuコンテナを起動します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container run -it --name my-ubuntu ubuntu:latest</code></pre></div>



<ul class="wp-block-list">
<li><code>docker container run</code>
<ul class="wp-block-list">
<li>新しいコンテナを作成して起動</li>
</ul>
</li>



<li><code>-i</code>
<ul class="wp-block-list">
<li>標準入力を有効化（コンテナに入力できるようにする）</li>
</ul>
</li>



<li><code>-t</code>
<ul class="wp-block-list">
<li>疑似TTYを割り当て（ターミナル操作用）</li>
</ul>
</li>



<li><code>--name my-ubuntu</code>
<ul class="wp-block-list">
<li>コンテナ名を<code>my-ubuntu</code>に指定</li>
</ul>
</li>



<li><code>ubuntu:latest</code>
<ul class="wp-block-list">
<li>Ubuntuの公式イメージ</li>
</ul>
</li>
</ul>



<p>実行すると、次のような表示になります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>root@xxxxxxxxxxxx:/#</code></pre></div>



<p>これは<span class="st-mymarker-s-b">Ubuntuコンテナの中に入った状態</span>です。このとき、bashが動いており、コンテナはUP状態になっています（bashプロセスが終了しないため、コンテナも起動し続けます）。</p>



<p>別ターミナルで<code>docker container ls</code>コマンドを実行すると、以下のようにコンテナが<code>Up</code>状態になっていることが確認できます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ docker container ls
CONTAINER ID   IMAGE           COMMAND       CREATED          STATUS          PORTS     NAMES
xxxxxxxxxxxx   ubuntu:latest   &quot;/bin/bash&quot;   23 seconds ago   Up 22 seconds             my-ubuntu</code></pre></div>



<h4 class="wp-block-heading"><span class="st-count">コンテナ内でsample.txtを作成</span></h4>



<p>起動したUbuntuコンテナ内で、<code>echo</code>を使って<code>sample.txt</code>を作成します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>echo &quot;Hello Docker Exec&quot; &gt; sample.txt</code></pre></div>



<p><code>sample.txt</code>が作成できているか<code>ls</code>コマンドで確認してみましょう。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>root@xxxxxxxxxxxx:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sample.txt  sbin  srv  sys  tmp  usr  var</code></pre></div>



<p><code>sample.txt</code>が作成されていることが確認できます。</p>



<h4 class="wp-block-heading"><span class="st-count">別ターミナルからdocker container execを実行</span></h4>



<p>新しく別のターミナルを開き、次のコマンドを実行します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>docker container exec my-ubuntu ls</code></pre></div>



<p>実行結果は以下のようになります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>$ docker container exec my-ubuntu ls
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sample.txt
sbin
srv
sys
tmp
usr
var</code></pre></div>



<p>先ほど作成した<code>sample.txt</code>がありますね。これは、「<span class="huto">起動中の<code>my-ubuntu</code>コンテナに対して外部（ホスト側・別ターミナル）から<code>ls</code>コマンドを実行している</span>」という状態です。<span class="st-mymarker-s-b">つまり、コンテナの中に入らずに、外からコンテナの中のコマンドを実行することができました。</span></p>



<p class="is-style-st-paragraph-bubble has-white-color has-original-color-b-background-color has-text-color has-background has-st-regular-font-size"><span class="huto">本記事のまとめ</span></p>



<p>この記事では<strong><code>docker container exec</code></strong>コマンドについて説明しました。</p>



<p><code>docker container exec</code>は、<span class="hutoaka">起動中（UP状態）のコンテナに対して、後からコマンドを実行できる</span>便利なコマンドです。</p>



<p>Dockerを使いこなすうえで欠かせない基本コマンドなので、ぜひ実際に手を動かしながら慣れていきましょう。</p>



<p>お読みいただきありがとうございました。</p>
<p>Copyright &copy; 2026 <a href="https://it-infomation.com">IT Information</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
