<?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>DockerPython Tech</title>
	<atom:link href="https://tech.nkhn37.net/category/python/development-environment/docker/feed/" rel="self" type="application/rss+xml" />
	<link>https://tech.nkhn37.net</link>
	<description>Python学習サイト</description>
	<lastBuildDate>Wed, 14 Jan 2026 20:30:17 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://tech.nkhn37.net/wp-content/uploads/2021/01/cropped-lion-normal-clear-1-32x32.png</url>
	<title>DockerPython Tech</title>
	<link>https://tech.nkhn37.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Docker Desktopを使わずにWSL2上でDockerを使用する方法</title>
		<link>https://tech.nkhn37.net/docker-on-wsl2-without-docker-desktop/</link>
					<comments>https://tech.nkhn37.net/docker-on-wsl2-without-docker-desktop/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Sat, 05 Oct 2024 20:00:00 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker Desktop]]></category>
		<category><![CDATA[WSL 2]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=11777</guid>

					<description><![CDATA[Docker Desktop を使わずに WSL2 上の Linux で Docker を使用する方法を解説します。 Docker Docker は、アプリケーションを軽量なコンテナとしてパッケージ化し、実行するための仮 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">Docker Desktop を使わずに WSL2 上の Linux で Docker を使用する方法</span>を解説します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">Docker</h2>



<p class="wp-block-paragraph">Docker は、アプリケーションを軽量なコンテナとしてパッケージ化し、実行するための仮想環境です。これにより開発環境や本番環境など異なる環境間での一貫した動作が可能となります。</p>



<p class="wp-block-paragraph">この記事では、<span class="jinr-d--text-color d--marker1 d--bold">Docker Desktopを使わずにWSL2上のLinuxでDockerを使用する方法</span>について紹介したいと思います。</p>



<h3 class="wp-block-heading jinr-heading d--bold">Docker Desktop</h3>



<p class="wp-block-paragraph">Docker Desktop は、簡単にインストールできるアプリケーションです。Docker Desktop は、従業員数が 250 人以上 または 年間収益が 1,000 万ドルを超える組織では、有料サブスクリプションが必要です。</p>



<p class="wp-block-paragraph">ただし、以下のような条件に当てはまる場合は、無料で使用することができます。</p>



<ul class="wp-block-list jinr-list">
<li>従業員数が 250 人未満 <em>かつ</em> 年間収益が 1,000 万ドル未満の組織</li>



<li>個人のプロジェクトでの利用</li>



<li>教育目的での利用（学生や教育者によるもの）</li>



<li>非商用のオープンソースプロジェクトでの利用</li>
</ul>



<p class="wp-block-paragraph">上記条件に当てはまらない企業の場合で無償で Docker を使用したい場合には、Docker Desktop を使わない方法を検討する必要があります。</p>



<h3 class="wp-block-heading jinr-heading d--bold">Docker を無償で使用する方法</h3>



<p class="wp-block-paragraph">Docker Desktop は上記の通り企業規模により有料サブスクリプションが必要になります。しかし、有料であるのは Docker Desktop であり、そのエンジンである Docker Engine 自体は無償で使用することができます。</p>



<p class="wp-block-paragraph">つまり、Linux 環境や WSL2（Windows Subsystem for Linux 2）上で Docker Engine をインストールして使用する分には問題ありません。</p>



<p class="wp-block-paragraph">以降では、Windows 11 環境を前提として、WSL2 上の Ubuntu で Docker を動作させて使用する方法を紹介していきます。</p>



<h2 class="wp-block-heading jinr-heading d--bold">Docker Desktop を使わずに WSL2 上で<br>Docker を使用する</h2>



<h3 class="wp-block-heading jinr-heading d--bold">WSL2 で Ubuntu をインストールする</h3>



<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">WSL2（Windows Subsystem for Linux 2）</span>は、Windows 上で Linux 環境を動作させることができる環境です。</p>



<p class="wp-block-paragraph">コマンドプロンプトで、以下コマンドを実行することにより、WSL のインストールと Ubuntu のインストールを同時に実行することが可能です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">wsl --install -d Ubuntu</pre>



<p class="wp-block-paragraph">上記でインストールを完了すると Windows の検索で「ubuntu」が見つかるようになり、実行すると Ubuntu のターミナルが表示され、Ubuntu 環境を使用できるようになります。</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="746" height="194" src="https://tech.nkhn37.net/wp-content/uploads/2024/10/image.png" alt="WSL2 Ubuntu Windows11" class="wp-image-11779" srcset="https://tech.nkhn37.net/wp-content/uploads/2024/10/image.png 746w, https://tech.nkhn37.net/wp-content/uploads/2024/10/image-300x78.png 300w" sizes="(max-width: 746px) 100vw, 746px" /></figure>



<p class="wp-block-paragraph">以下のコマンドで Ubuntu のバージョンを確認できます。今回の例では、Ubunt24.04.1 LTS となっています。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">lsb_release -a</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.1 LTS
Release:        24.04
Codename:       noble</pre>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">WSL関連のコマンドは以下を参考にしてください。</p>



<p class="wp-block-paragraph"><strong>【WSLのアップデート】</strong></p>



<p class="wp-block-paragraph">WSL をアップデートします。既に環境が入っている人はアップデートしておくことを推奨します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">wsl --update</pre>



<p class="wp-block-paragraph"><strong>【WSL環境のリストアップ】</strong></p>



<p class="wp-block-paragraph">WSL で使える環境を確認します。デフォルト環境は*がつきます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">wsl -l -v</pre>



<p class="wp-block-paragraph"><strong>【実行バージョンの変更】</strong></p>



<p class="wp-block-paragraph">WSL の実行バージョンを 2 に変更します。&lt;ディストリビューション名> の部分には対象の環境名を指定してください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">wsl --set-version &lt;ディストリビューション名> 2</pre>



<p class="wp-block-paragraph"><strong>【デフォルトバージョンの設定】</strong></p>



<p class="wp-block-paragraph">以降作成される環境のデフォルトを Version 2 に設定します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">wsl --set-default-version 2</pre>
</div>
		</div></section>



<h3 class="wp-block-heading jinr-heading d--bold">Ubuntu 上に Docker をインストールする</h3>



<p class="wp-block-paragraph">Ubuntu のターミナルで以下を実行することで Docker 環境をインストールします。</p>



<h4 class="wp-block-heading jinr-heading d--bold">Ubuntuパッケージの更新</h4>



<p class="wp-block-paragraph">Ubuntu 自体のパッケージを更新しておきます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo apt update</pre>



<h4 class="wp-block-heading jinr-heading d--bold">Docker Engine のインストール</h4>



<p class="wp-block-paragraph">Docker のインストールスクリプトを実行します。インストールスクリプトに関する説明は Docker の公式ドキュメントの<a href="https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script" target="_blank" rel="noreferrer noopener">こちら</a>を参考にしています。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh</pre>



<p class="wp-block-paragraph">スクリプトにスリープが入っていますので、しばらく待ってもらえると実行が進んでいきます。完了したら Docker のインストールが完了です。</p>



<p class="wp-block-paragraph">以下のコマンドで、Docker のサービスが実行されているかを確認してください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo systemctl status docker</pre>



<p class="wp-block-paragraph">実行状態が、active(running) になっていれば Docker は起動しています。起動していないようであれば以下コマンドで実行してください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo systemctl start docker</pre>



<h3 class="wp-block-heading jinr-heading d--bold">PySpark 環境を使ってみる</h3>



<p class="wp-block-paragraph">上記で WSL2 上の Ubuntu 環境に用意した Docker で PySpark の Docker 環境を使用してみましょう。</p>



<p class="wp-block-paragraph">PySpark は、Apache Spark という分散データ処理フレームワークを Python で利用できるようにする API です。Spark は分散環境なのでローカル環境の用意は大変ですし、クラウド環境では課金が生じます。このような時にローカルで PySpark 環境が準備できると非常に便利です。</p>



<p class="wp-block-paragraph">PySpark の Docker 環境を使う方法については「<a href="https://tech.nkhn37.net/docker-pyspark-notebook/" target="_blank" rel="noreferrer noopener">PySparkの実行環境をDockerで用意する方法</a>」に詳細に説明をしています。この記事は Docker Desktop を前提にしていますが、今回作成した環境でも同様に実行できることを確認します。</p>



<h4 class="wp-block-heading jinr-heading d--bold">Docker イメージの取得と実行</h4>



<p class="wp-block-paragraph">作成した ubuntu 環境のターミナルで以下コマンドで実行し、Docker Hub からPySpark を使用できる Jupyter Notebook 環境のイメージを取得します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker pull jupyter/pyspark-notebook</pre>



<h4 class="wp-block-heading jinr-heading d--bold">コンテナの作成と実行</h4>



<p class="wp-block-paragraph">以下のコマンドを実行することで PySpark の環境を起動することができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker run --rm -it -p 8888:8888 -p 4040:4040 -v /mnt/d/docker1/pyspark_notebook_1:/home/jovyan/work jupyter/pyspark-notebook</pre>



<p class="wp-block-paragraph">コンテナが起動するとターミナルの表示の中に「<code>http://127.0.0.1:8888/lab?token=xxxxxxxxxx</code>」というような記載の文字列が表示されるかと思います。この URL をブラウザに入力することで Jupyter Lab を実行することができます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="656" src="https://tech.nkhn37.net/wp-content/uploads/2024/10/image-2-1024x656.png" alt="WSL2 Docker Jupyterlab" class="wp-image-11799" srcset="https://tech.nkhn37.net/wp-content/uploads/2024/10/image-2-1024x656.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2024/10/image-2-300x192.png 300w, https://tech.nkhn37.net/wp-content/uploads/2024/10/image-2-768x492.png 768w, https://tech.nkhn37.net/wp-content/uploads/2024/10/image-2.png 1208w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">なお、WSL2 上の Ubuntu では <code>/mnt/c/</code> や <code>/mnt/d/</code> に C や D ドライブがマウントされます。上記実行時には <code>/mnt/d/docker1/pyspark_notebook_1</code> と指定しましたので、Jupyter Lab の <code>work</code> フォルダに作成されたファイルは <code>D:\docker1\pyspark_notebook_1</code> フォルダ内に保存されます。</p>



<h4 class="wp-block-heading jinr-heading d--bold"><code>wsl.conf</code> の修正（NTFSファイルシステムとの権限に関する問題）</h4>



<p class="wp-block-paragraph">上記環境構築をした際に PySpark のプログラムを動かすとファイルの書き込みに関するコードが失敗する事象が発生しました。NTFS ファイルシステムにおけるファイルの書き込み権限が原因でファイル操作が失敗したようです。</p>



<p class="wp-block-paragraph">上記のような問題は ubuntu 環境の <code>/etc/wsl.conf</code> ファイルに以下の記載を追記すると改善します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[automount]
options="metadata"</pre>



<p class="wp-block-paragraph"><code>automount</code> セクションは WSL が Windows のファイルシステムを自動的にマウントする際のオプションを設定するためのものです。通常 WSL2 は <code>/mnt/c</code> や <code>/mnt/d</code> のようにドライブごとに自動マウントします。</p>



<p class="wp-block-paragraph"><code>metadata</code> オプションは、Windows ファイルシステム上のファイルに対して Linux のメタデータ（所有者、権限情報など）を保存できるようにするもので、Linux の権限モデル（<code>chmod</code> や <code>chown</code> など）を Windows ファイルシステムで扱えるようにします。</p>



<p class="wp-block-paragraph">上記変更をした際には、以下で WSL を一度シャットダウンし、再度 ubuntu 環境を立ち上げ直してください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">wsl --shutdown</pre>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">Docker Desktop を使わずに WSL2 上の Linux で Docker を使用する方法</span>を解説しました。</p>



<p class="wp-block-paragraph">Docker Desktop は一定規模以上の企業では有料サブスクリプションが必要となるため、Docker Desktop を使用しないで実行できる環境があると非常に便利です。Windows 環境上の場合は、WSL2 上に Ubuntu を構築して Docker Engine をインストールすることで実現ができます。</p>



<p class="wp-block-paragraph">この記事では一連の環境準備の方法について紹介しました。Docker 環境構築の参考にしていただければと思います。</p>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/docker-on-wsl2-without-docker-desktop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DockerでTensorflowのGPU動作環境を用意する方法</title>
		<link>https://tech.nkhn37.net/docker-tensorflow-gpu-environment/</link>
					<comments>https://tech.nkhn37.net/docker-tensorflow-gpu-environment/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Thu, 07 Jul 2022 20:00:00 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[Jupyter Notebook]]></category>
		<category><![CDATA[Tensorflow]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=4126</guid>

					<description><![CDATA[Dockerを利用してTensorflowのGPU動作環境を用意する方法について解説します。 Dockerを用いてTensorflowのGPU動作環境を用意する Dockerはコンテナ型仮想環境を用意することができるプラ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="marker"><strong>Dockerを利用してTensorflowのGPU動作環境を用意する方法</strong></span>について解説します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">Dockerを用いてTensorflowのGPU動作環境を用意する</h2>



<p class="wp-block-paragraph">Dockerはコンテナ型仮想環境を用意することができるプラットフォームです。また、Tensorflowは、Googleが開発したディープラーニングのライブラリです。</p>



<p class="wp-block-paragraph">本記事では、<span class="marker"><strong>Dockerを用いてTensorflowのGPU動作環境（具体的にはJupyter Notebook環境）を用意する方法</strong></span>について紹介します。</p>



<p class="wp-block-paragraph">GPU（Graphics Processing Unit）はゲームなどのリアルタイム画像処理などに特化したプロセッサユニットで、CPUに比べてクロック数が低いものの並列演算に優れています。その特性を活かしてディープラーニングの計算などでGPUが利用されています。</p>



<p class="wp-block-paragraph">NVIDIAのGPUで汎用的な計算を使う場合にはCUDA(compute unified device architecture: クーダ)と呼ばれるライブラリが使用されます。ディープラーニングで有名な「Tensorflow」や「PyTorch」といったフレームワークもGPUの計算処理はCUDAを利用する設計になっています。</p>



<p class="wp-block-paragraph">NVIDIAのグラフィックボードを搭載してGPUを使えるPCがあったとしても、上記のCUDAの設定などGPUを使うときには環境設定が少し大変です。</p>



<p class="wp-block-paragraph">今回紹介するのはDockerを用いてGPUが利用可能なTensorflowが使えるJupyter Notebook環境準備方法です。Dockerを用いることで面倒な環境構築を省くことができます。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--heading-iconbox1 ">
			<div class="a--heading-iconbox-title">
			<div class="a--iconbox-title-icon"><i class="jif jin-ifont-caution" aria-hidden="true"></i></div>
			<div class="a--iconbox-title-text">注意点</div>
			</div>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">本記事で紹介する内容は、NVIDIAのGPUが使用可能なマシンでのみ実行可能ですので注意していください。</p>
</div>
		</div></section>



<p class="wp-block-paragraph">Dockerを使用する際には、Docker Desktopのインストールが必要です。インストールされていない方は、以降の説明の手順を実行する前にDocker Desktopのインストールをしてください。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox6 ">
			<i class="jif jin-ifont-v2books" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">Windows用のインストール方法は「<a href="https://tech.nkhn37.net/docker-desktop-for-windows-install/" target="_blank" rel="noreferrer noopener">Docker Desktop for Windowsのインストール方法</a>」を参考にしてください。</p>
</div>
		</div></section>



<h2 class="wp-block-heading jinr-heading d--bold">Dockerイメージの取得</h2>



<p class="wp-block-paragraph">Dockerでは、<a rel="noreferrer noopener" href="https://hub.docker.com/" target="_blank">Docker Hub</a>で様々なイメージが公開されています。今回は<a rel="noreferrer noopener" href="https://hub.docker.com/r/tensorflow/tensorflow" target="_blank">https://hub.docker.com/r/tensorflow/tensorflow</a>から「tensorflow/tensorflow:2.9.1-gpu-jupyter」を取得してみます。</p>



<p class="wp-block-paragraph">コマンドプロンプトで以下を実行することで、Dockerイメージを取得することができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker pull tensorflow/tensorflow:2.9.1-gpu-jupyter</pre>



<p class="wp-block-paragraph">Dockerイメージの取得が完了すると以下のような感じになります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>docker pull tensorflow/tensorflow:2.9.1-gpu-jupyter
2.9.1-gpu-jupyter: Pulling from tensorflow/tensorflow
d5fd17ec1767: Pull complete
50b37fabf1b7: Pull complete
269c6117408b: Pull complete
（=====途中省略=====）
0e6c59c4ca3a: Pull complete
bdadb13361a8: Pull complete
8c0bbe097530: Pull complete
Digest: sha256:6345c1f2eaaf7b8efc9b8ec7f62869e6490db80e07ae5b856d5c16b48146daae
Status: Downloaded newer image for tensorflow/tensorflow:2.9.1-gpu-jupyter
docker.io/tensorflow/tensorflow:2.9.1-gpu-jupyter</pre>



<p class="wp-block-paragraph">取得済みのDockerイメージ一覧は、「docker images」で確認ができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>docker images
REPOSITORY                     TAG                 IMAGE ID       CREATED        SIZE
tensorflow/tensorflow          2.9.1-gpu-jupyter   5f9e07bacf1d   6 weeks ago    6.07GB</pre>



<p class="wp-block-paragraph">上記のように表示されれば、Dockerイメージの取得は完了です。</p>



<h2 class="wp-block-heading jinr-heading d--bold">コンテナの作成と実行</h2>



<h3 class="wp-block-heading jinr-heading d--bold">tensorflow-gpu-jupyterの起動</h3>



<p class="wp-block-paragraph">Dockerのイメージの取得が完了したら、コンテナを起動します。以下のようなコマンドを実行してください。「D:\docker\jupyter_notebbok_tensorflow_gpu」の部分はお使いの環境の任意のフォルダを指定してください。コマンドの意味については後述しますので、まずは起動して使い始める方法として読み進めてください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker run --rm -it -p 8888:8888 -v D:\docker\jupyter_notebbok_tensorflow_gpu:/tf/work tensorflow/tensorflow:2.9.1-gpu-jupyter</pre>



<p class="wp-block-paragraph">上記のように実行すると、Jupyterが起動します。コマンドプロンプトを見てもらうと「http://127.0.0.1:8888/?token=xxxxxxxxxx」というような記載の文字列の場所があるかと思います。</p>



<p class="wp-block-paragraph">xxxxxxxxの部分は接続のためのトークンで起動ごとに異なります。このURLをブラウザに入力して実行してください。以下のようなJupyter Notebookの画面が起動します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="219" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-25-1024x219.png" alt="Jupyter Notebook" class="wp-image-4132" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-25-1024x219.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-25-300x64.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-25-768x165.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-25.png 1157w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">workをクリックするとworkフォルダへ移動できます。後述しますが、workフォルダとローカルフォルダをマウントする設定で起動しているため、ローカルにファイルを保存したい場合は、workフォルダ内にファイルを作成してください。</p>



<p class="wp-block-paragraph">後の使い方は通常のJupyter Notebookと同じです。</p>



<h3 class="wp-block-heading jinr-heading d--bold">起動コマンドの補足説明</h3>



<p class="wp-block-paragraph">以降でDockerコンテナ起動時に実行した以下コマンドについて補足説明します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker run --rm -it -p 8888:8888 -v D:\docker\jupyter_notebbok_tensorflow_gpu:/tf/work tensorflow/tensorflow:2.9.1-gpu-jupyter</pre>



<h4 class="wp-block-heading jinr-heading d--bold">ポートの接続</h4>



<p class="wp-block-paragraph">Dockerでは、コンテナ側のポートとホストマシン（実行しているPC）のポートを結びつけることができます。その際には「-p」オプションで指定します。</p>



<p class="wp-block-paragraph">Jupyter Notebookは標準で8888番ポートで運用されます。「8888:8888」の部分は、ホスト側の8888番ポートとコンテナ側の8888番ポートを接続するという意味になります。</p>



<h4 class="wp-block-heading jinr-heading d--bold">フォルダのマウント</h4>



<p class="wp-block-paragraph">Dockerでは、コンテナを削除してしまうとデータが消えてしまいます。そのため、「-v」オプションで、ホスト側のフォルダとコンテナ側のディレクトリをマウントします。</p>



<p class="wp-block-paragraph">今回の例ではホスト側の「D:\docker\jupyter_notebbok_tensorflow_gpu」とコンテナの「/tf/work」をマウントしています。このようにしておくことで、workフォルダ内に作成したファイルなどは「D:\docker\jupyter_notebbok_tensorflow_gpu」配下に保存されます。ホスト側のパスについては、お使いの環境の任意のパスを指定してください。</p>



<p class="wp-block-paragraph">これによりコンテナを削除してもファイルは残り続けます。また、他のDockerコンテナと共有して使うこともできるようになります。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph"><span class="marker"><strong>Dockerを用いてTensorflowのGPU動作環境（具体的にはJupyter Notebook環境）を用意する方法</strong></span>について紹介しました。</p>



<p class="wp-block-paragraph">GPUを使うためにはCUDAの設定など環境構築が必要です。私もNVIDIAのグラフィックボードを搭載しているPCにCUDAを入れてみて動かしてみようとしてなかなかうまく動かない状況に直面したことがあります。こういった時にDockerで簡単に環境構築できるのはとても便利です。</p>



<p class="wp-block-paragraph">これからTensorflowを使ったディープラーニングを学ぼうという人で、NVIDIAのグラフィックボードを搭載しているPCをお持ちの方は今回紹介したようにDocker環境を作って使ってみると良いかと思います。</p>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/docker-tensorflow-gpu-environment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DockerでJupyter Notebook環境を用意する方法</title>
		<link>https://tech.nkhn37.net/docker-jupyter-notebook-environment/</link>
					<comments>https://tech.nkhn37.net/docker-jupyter-notebook-environment/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Wed, 06 Jul 2022 20:00:00 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Jupyter Lab]]></category>
		<category><![CDATA[Jupyter Notebook]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=4107</guid>

					<description><![CDATA[Dockerを利用してJupyter Notebook環境を用意する方法について解説します。 Dockerを用いてJupyter Notebook環境を用意する Dockerはコンテナ型仮想環境を用意することができるプラ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="marker"><strong>Dockerを利用してJupyter Notebook環境を用意する方法</strong></span>について解説します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">Dockerを用いてJupyter Notebook環境を用意する</h2>



<p class="wp-block-paragraph">Dockerはコンテナ型仮想環境を用意することができるプラットフォームです。Dockerを用いてPythonの分析でよく使用される<span class="marker"><strong>Jupyter Notebook</strong></span>環境を用意する方法について紹介します。</p>



<p class="wp-block-paragraph">Dockerを使用する際には、Docker Desktopのインストールが必要です。インストールされていない方は、以降の説明の手順を実行する前にDocker Desktopのインストールをしてください。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox6 ">
			<i class="jif jin-ifont-v2books" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">Windows 用の Docker インストール方法は「<a href="https://tech.nkhn37.net/docker-desktop-for-windows-install/" target="_blank" rel="noreferrer noopener">Docker Desktop for Windowsのインストール方法</a>」を参考にしてください。</p>
</div>
		</div></section>



<h2 class="wp-block-heading jinr-heading d--bold">Jupyter NotebookのDockerイメージの取得</h2>



<p class="wp-block-paragraph">Dockerでは、<a rel="noreferrer noopener" href="https://hub.docker.com/" target="_blank">Docker Hub</a>で様々なイメージが公開されています。その中では色々なイメージが公開されているのですが、今回はJupyter Notebookの環境を用意することが可能な、<a rel="noreferrer noopener" href="https://hub.docker.com/r/jupyter/datascience-notebook" target="_blank">https://hub.docker.com/r/jupyter/datascience-notebook</a>の取得と利用について紹介していきたいと思います。</p>



<p class="wp-block-paragraph">コマンドプロンプトで以下を実行することで、Dockerイメージを取得することができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker pull jupyter/datascience-notebook:latest</pre>



<p class="wp-block-paragraph">Dockerイメージの取得が完了すると以下のような感じになります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>docker pull jupyter/datascience-notebook:latest
latest: Pulling from jupyter/datascience-notebook
d7bfe07ed847: Pull complete
3aac83093598: Pull complete
07c6895da385: Pull complete
（===== 途中省略 =====）
72587575b724: Pull complete
2b0d46c52c37: Pull complete
f7e1bac0ebe7: Pull complete
Digest: sha256:cc8b50412e3e4570d9d0c14c75936f4201fc37efa78aefcc417afffc082b0f6a
Status: Downloaded newer image for jupyter/datascience-notebook:latest
docker.io/jupyter/datascience-notebook:latest</pre>



<p class="wp-block-paragraph">取得済みのDockerイメージ一覧は、「docker images」で確認ができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>docker images
REPOSITORY                     TAG                 IMAGE ID       CREATED       SIZE
jupyter/datascience-notebook   latest              fffb7b930368   5 hours ago   4.37GB</pre>



<p class="wp-block-paragraph">上記のように表示されれば、Dockerイメージの取得は完了です。</p>



<h2 class="wp-block-heading jinr-heading d--bold">Jupyter Notebookのコンテナの作成と実行</h2>



<h3 class="wp-block-heading jinr-heading d--bold">Jupyterの起動</h3>



<p class="wp-block-paragraph">Dockerイメージの取得が完了したら、コンテナを起動します。以下のようなコマンドを実行してください。「D:\docker\jupyter_notebook_1」の部分はお使いの環境の任意のフォルダを指定してください。コマンドの意味については後述しますので、まずは起動して使い始める方法として読み進めてください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker run --rm -it -p 8888:8888 -v D:\docker\jupyter_notebook_1:/home/jovyan/work jupyter/datascience-notebook:latest</pre>



<p class="wp-block-paragraph">上記のように実行するとJupyterが起動します。コマンドプロンプトを見てもらうと「http://127.0.0.1:8888/lab?token=xxxxxxxx」というような記載の文字列の場所があるかと思います。</p>



<p class="wp-block-paragraph">xxxxxxxxの部分は接続のためのトークンで起動ごとに異なります。このURLをブラウザに入力して実行してください。以下のようなJupyter Labの画面が起動します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="803" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-23-1024x803.png" alt="Jupyter Notebook (Lab) 画面" class="wp-image-4117" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-23-1024x803.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-23-300x235.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-23-768x602.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-23.png 1239w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">workフォルダをダブルクリックするとworkフォルダに移動できます。後述しますが、workフォルダとローカルフォルダをマウントする設定で起動しているため、ローカルにファイルを保存したい場合は、workフォルダ内にファイルを作成してください。</p>



<p class="wp-block-paragraph">Notebookのところの「Python3」をクリックしてもらうと以下のように表示されてプログラミングをすることができます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="361" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-24-1024x361.png" alt="Jupyter Notebook Python" class="wp-image-4119" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-24-1024x361.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-24-300x106.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-24-768x271.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-24.png 1238w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">Jupyter Lab は、Jupyter Notebook の後継機として開発されたブラウザ上で動作する対話型実行環境です。</p>
</div>
		</div></section>



<h3 class="wp-block-heading jinr-heading d--bold">起動コマンドの補足説明</h3>



<p class="wp-block-paragraph">以降でDockerコンテナ起動時に実行した以下コマンドについて補足説明します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker run --rm -it -p 8888:8888 -v D:\docker\jupyter_notebook_1:/home/jovyan/work jupyter/datascience-notebook:latest</pre>



<h4 class="wp-block-heading jinr-heading d--bold">ポートの接続</h4>



<p class="wp-block-paragraph">Dockerでは、コンテナ側のポートとホストマシン（実行しているPC）のポートを結びつけることができます。その際には「-p」オプションで指定します。</p>



<p class="wp-block-paragraph">Jupyter Notebookは標準で8888番ポートで運用されます。「8888:8888」の部分は、ホスト側の8888番ポートとコンテナ側の8888番ポートを接続するという意味になります。</p>



<h4 class="wp-block-heading jinr-heading d--bold">フォルダのマウント</h4>



<p class="wp-block-paragraph">Dockerでは、コンテナを削除してしまうとデータが消えてしまいます。そのため、「-v」オプションで、ホスト側のフォルダとコンテナ側のディレクトリをマウントします。</p>



<p class="wp-block-paragraph">今回の例ではホスト側の「D:\docker\jupyter_notebook_1」とコンテナの「/home/jovyan/work」をマウントしています。このようにしておくことで、workフォルダ内に作成したファイルなどは「D:\docker\jupyter_notebook_1」配下に保存されます。ホスト側のパスについては、お使いの環境の任意のパスを指定してください。</p>



<p class="wp-block-paragraph">これによりコンテナを削除してもファイルは残り続けます。また、他のDockerコンテナと共有して使うこともできるようになります。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph"><span class="marker"><strong>DockerでJupyter Notebookの環境を構築する方法</strong></span>について紹介しました。</p>



<p class="wp-block-paragraph">Dockerを利用することで、利用する際にコンテナを起動すればよいので、自身のPCの環境に影響を与えることなく環境をつくことができます。</p>



<p class="wp-block-paragraph">Jupyter Notebookは、Pythonでの分析環境として非常によく利用されている環境です。是非上記を参考にしていただいて、分析を色々と試してみてもらえればと思います。</p>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/docker-jupyter-notebook-environment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dockerイメージを取得してコンテナを作成・動作させる方法</title>
		<link>https://tech.nkhn37.net/docker-container-python/</link>
					<comments>https://tech.nkhn37.net/docker-container-python/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Tue, 05 Jul 2022 20:00:00 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker Desktop]]></category>
		<category><![CDATA[Docker Hub]]></category>
		<category><![CDATA[イメージ]]></category>
		<category><![CDATA[コンテナ]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=4085</guid>

					<description><![CDATA[Docker イメージを取得してコンテナを作成し動作させる方法について解説します。例として Python 実行環境を作成する方法を用いて説明します。 Docker のインストール Docker&#160;は、コンテナ型の [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">Docker イメージを取得してコンテナを作成し動作させる方法</span>について解説します。例として Python 実行環境を作成する方法を用いて説明します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">Docker のインストール</h2>



<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">Docker</span>&nbsp;は、コンテナ型の仮想環境プラットフォームです。Windows で Docker 環境を使用する場合には、Docker Desktop for Windows をインストールするのが簡単です。以降の説明の実行前に Docker Desktop をインストールしてください。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox6 ">
			<i class="jif jin-ifont-v2books" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">Docker のインストール方法は「<a href="https://tech.nkhn37.net/docker-desktop-for-windows-install/" target="_blank" rel="noreferrer noopener">Docker Desktop for Windowsのインストール方法</a>」を参考にしてください。</p>
</div>
		</div></section>



<h2 class="wp-block-heading jinr-heading d--bold">Docker イメージの取得と削除</h2>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--heading-iconbox1 ">
			<div class="a--heading-iconbox-title">
			<div class="a--iconbox-title-icon"><i class="jif jin-ifont-caution" aria-hidden="true"></i></div>
			<div class="a--iconbox-title-text">注意点</div>
			</div>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">以降の説明は記事執筆・更新時点でのキャプチャを使用しています。最新とは厳密には異なる可能性がありますのでご注意ください。</p>
</div>
		</div></section>



<h3 class="wp-block-heading jinr-heading d--bold">Docker イメージの取得</h3>



<p class="wp-block-paragraph">Docker では、<a href="https://hub.docker.com/" target="_blank" rel="noreferrer noopener">Docker Hub</a> に様々な便利な Docker イメージが公開されています。AI 関連 (tensorflow など)、Web サーバー (nginx など)、DBMS (postgres など) といった様々な環境のイメージがあるので色々と調べてみてください。</p>



<h3 class="wp-block-heading jinr-heading d--bold">Python の Docker イメージを試す</h3>



<p class="wp-block-paragraph">今回は、Docker Hub 中から Python の Docker Official Image を使用して使い方を紹介したいと思います。Docker Hub で以下のようなリンクを探してみてください。見つからなければ検索で「python」と入力してもらえば見つけられると思います。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="334" height="270" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-73.png" alt="Docker Hub Python" class="wp-image-13251" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-73.png 334w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-73-300x243.png 300w" sizes="(max-width: 334px) 100vw, 334px" /></figure>
</div>


<h4 class="wp-block-heading jinr-heading d--bold">イメージの情報の確認方法</h4>



<p class="wp-block-paragraph">リンク先の画面で「Tags」を見てみると以下のようにいくつかのタグ付けされたイメージを確認することができます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="986" height="637" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-75.png" alt="Docker Hub Python Image" class="wp-image-13254" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-75.png 986w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-75-300x194.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-75-768x496.png 768w" sizes="(max-width: 986px) 100vw, 986px" /></figure>
</div>


<p class="wp-block-paragraph">上記画像で示しているものは、Python 3.11.14 でベース OS は Alpine Linux 3.23 で環境が用意されている Docker イメージを表しています。</p>



<p class="wp-block-paragraph">「<code>docker pull python:3.11.14-alpine3.23</code>」がこのイメージを Docker にプルして取り込むためのコマンドです。</p>



<p class="wp-block-paragraph">また、Digest としていくつか文字列がありますが、これはイメージの実体を表すハッシュで、同じタグでもアーキテクチャごとに Digest は異なります。docker pull の際に自身の環境に合ったイメージが選択されて取り込まれます。</p>



<p class="wp-block-paragraph">Vulnerabilities は、Docker Scout という、Docker が提供している セキュリティ解析サービスの解析結果を表しています。左から順に「Critical」「High」「Medium」「Low」「Unknown」を表し、各レベルの脆弱性が何件見つかっているか表示されます。上記例では Midium の脆弱性が 1 件あるという意味です。Critical や High に数字がある場合、用途や環境（本番・検証）を考慮して慎重に使用を判断しましょう。</p>



<p class="wp-block-paragraph">今回は、Newest で一番上に出てきたイメージを例に紹介しますが、必要に応じて異なるバージョンなどを調べて試してみてください。</p>



<h4 class="wp-block-heading jinr-heading d--bold"><code>docker pull</code> によるイメージの取り込み</h4>



<p class="wp-block-paragraph">Docker イメージを環境に取り込むには「<span class="jinr-d--text-color d--marker1 d--bold"><code>docker pull</code></span>」コマンドを使用します。コマンドプロンプト または PowerShell を起動して、Docker Hub に表示されているコマンドを入力します。</p>



<p class="wp-block-paragraph">今回は、以下の例で試してみます。 Docker Hub の Tag 一覧に表示されるコマンドはクリップボードへ簡単にコピーできるためそちらを活用すると簡単です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker pull python:3.11.14-alpine3.23</pre>



<p class="wp-block-paragraph">Docker イメージを取得することを「pull」と言います。実行すると取得してきた情報が表示されます。「Pull complete」と表示されれば環境は取得できています。</p>



<p class="wp-block-paragraph">取得済みの Docker イメージの一覧の取得は以下のコマンドで確認できます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker images</pre>



<p class="wp-block-paragraph">取得してきたイメージが表示されれば、Docker イメージの取得は完了です。Docker Desktop の Images のところからも取得してきたイメージを確認できます。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="386" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-76-1024x386.png" alt="Docker Desktop Images" class="wp-image-13255" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-76-1024x386.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-76-300x113.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-76-768x289.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-76.png 1263w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">実際に環境を実行する方法については、以降で説明します。</p>



<h3 class="wp-block-heading jinr-heading d--bold">Docker<em>イメージの削除方法</em></h3>



<p class="wp-block-paragraph">取得した Docker イメージを削除するには以下のコマンドを実行します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker image rm リポジトリ名:タグ名</pre>



<p class="wp-block-paragraph">今回の例に当てはめると以下のようになります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker image rm python:3.11.14-alpine3.23</pre>



<p class="wp-block-paragraph">Docker Desktop の場合は、Images の画面の一覧から右側にあるゴミ箱ボタンで削除することも可能です。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="968" height="98" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-77.png" alt="Docker Desktop Images python" class="wp-image-13256" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-77.png 968w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-77-300x30.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-77-768x78.png 768w" sizes="(max-width: 968px) 100vw, 968px" /></figure>



<h2 class="wp-block-heading jinr-heading d--bold">Docker イメージからコンテナを動作させる方法</h2>



<h3 class="wp-block-heading jinr-heading d--bold">コンテナを作成して動作させる</h3>



<p class="wp-block-paragraph">取得してきた Python の Docker イメージからコンテナを作成して動作させる方法について紹介します。以下のコマンドを実行してください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker run --rm -it python:3.11.14-alpine3.23</pre>



<p class="wp-block-paragraph">Docker のコンテナを作成し起動するには「run」を使います。オプションとして指定しているものについては以下の意味があります。</p>



<ul class="wp-block-list jinr-list">
<li><code>--rm</code>：終了時にコンテナを削除する。</li>



<li><code>-it</code>：標準入力でターミナルを有効化する</li>
</ul>



<p class="wp-block-paragraph"><code>--rm</code> の指定をしない場合は実行が終わった後でもコンテナが残り続けます。また、<code>-it</code>の方はホストとコンテナの入出力をつなぐオプションです。</p>



<p class="wp-block-paragraph">実行すると Python のターミナルが起動します。「<code>print("Hello Python")</code>」のように Python コードを入力して実行することができますので試してみてください。</p>



<p class="wp-block-paragraph">また、実行しているターミナルとは別ターミナルで以下のコマンドを実行すると、現在実行中のコンテナ一覧を確認できます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker ps</pre>



<p class="wp-block-paragraph">Python ターミナル上で「<code>exit()</code>」と入力するとターミナルが閉じるとともに &#8211;rm オプションを指定しているためコンテナも停止します。</p>



<p class="wp-block-paragraph">なお、以下のコマンドで Docker コンテナを指定して停止もできます。コンテナ ID は上記で紹介した「<code>docker ps</code>」で確認できます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker stop コンテナID</pre>



<h3 class="wp-block-heading jinr-heading d--bold">Docker コンテナを起動したまま終了する方法と再接続方法</h3>



<p class="wp-block-paragraph">Docker コンテナは起動したままで終了させることもできます。その場合は、実行しているターミナル上で「<code>Ctrl + p + q</code>」を実行してください。<code>Ctrl</code> を押しながら <code>p</code>、<code>q</code> と順に押します。こうすることでコンテナが起動した状態のままになります。</p>



<p class="wp-block-paragraph">起動しているコンテナに再度接続したい場合は、以下のコマンドで接続できます。コンテナIDは「<code>docker ps</code>」で確認したコンテナ ID を指定してください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker attach コンテナID</pre>



<h3 class="wp-block-heading jinr-heading d--bold">Docker コンテナとローカルフォルダをマウントする方法</h3>



<p class="wp-block-paragraph">Docker のコンテナは削除してしまうと作業していた内容が失われてしまいます。そのため、Docker コンテナと実行しているホストマシンのフォルダをマウントして Docker コンテナ上で作成したファイルをローカルフォルダへ保存できます。</p>



<p class="wp-block-paragraph">フォルダをマウントすることで、コンテナを削除してもデータはローカルフォルダに残ります。これにより、複数コンテナ間でファイル共有することも可能になります。</p>



<p class="wp-block-paragraph">マウントの説明をする前に、コンテナの Linux のシェルを起動する方法について説明します。起動時に「<code>/bin/sh</code>」を指定して以下のように実行してみてください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker run -it python:3.11.14-alpine3.23 /bin/sh</pre>



<p class="wp-block-paragraph">実行すると、シェルが起動されて「<code>#</code>」表示がされます。例えば、「<code>ls</code>」を実行してみると、以下のようにディレクトリ一覧が表示できます。上記で紹介してきた Python のコンテナ起動では、このシェル上で「<code>python</code>」コマンドを実行して Python インタプリタが起動された状態になっていたわけです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var</pre>



<p class="wp-block-paragraph">ディレクトリ階層を持っているため、指定したディレクトリとローカルフォルダをマウントすることで Docker 環境とローカル環境を紐づけることができます。</p>



<p class="wp-block-paragraph">Docker コンテナとローカルフォルダをマウントするには「<code>docker run</code>」を起動する際に「<code>-v</code>」オプションを指定して以下のように記載します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">docker run --rm -it -v C:\docker\test:/work python:3.11.14-alpine3.23 /bin/sh</pre>



<p class="wp-block-paragraph">上記例は「<code>C:\docker\test</code>」と「<code>/work</code>」をマウントするという意味になります。ローカルのパス部分は利用環境に応じて変更してください。</p>



<p class="wp-block-paragraph">上記のようにしてコンテナを起動し、<code>ls</code> でディレクトリを確認してみると「<code>work</code>」というディレクトリが確認できます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  work</pre>



<p class="wp-block-paragraph">この <code>work</code> ディレクトリ内で任意のファイルやフォルダを作成してみてください。マウントされているローカルの「<code>C:\docker\test</code>」配下に格納されることが確認できるかと思います。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">Docker イメージを取得してコンテナを作成し動作させる方法</span>について解説しました。例として Python 実行環境を作成する方法を紹介しています。</p>



<p class="wp-block-paragraph">また、コンテナとローカルフォルダをマウントして、コンテナ上で作成したデータをローカルフォルダにも格納し、コンテナ削除後にも残った状態にする方法について説明しました。これにより複数コンテナで領域を共有することができて便利です。</p>



<p class="wp-block-paragraph">今回の例は Python 環境でしたが、他の環境についても各ソフトウェアにより細部の使い方は変わってきますが、基本的な環境の起動方法やマウント方法などは同様です。</p>



<p class="wp-block-paragraph">Dockerは使わなくなったらコンテナを削除すればよいので、自分の PC 環境をきれいな状態に保ったまま様々な環境を使えるのが大きなメリットです。Dockerイメージには今回紹介した Python 以外にも様々なイメージがあるため <a href="https://hub.docker.com/" target="_blank" rel="noreferrer noopener">Docker Hub</a> で色々と調べて使ってみてください。</p>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/docker-container-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Docker Desktop for Windowsのインストール方法</title>
		<link>https://tech.nkhn37.net/docker-desktop-for-windows-install/</link>
					<comments>https://tech.nkhn37.net/docker-desktop-for-windows-install/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 20:00:00 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker Desktop for Windows]]></category>
		<category><![CDATA[WSL 2]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=4048</guid>

					<description><![CDATA[コンテナ型仮想環境を作成・運用するためのプラットフォームである Docker Desktop for Windows のインストール方法を解説します。 仮想環境の分類と Docker Docker は、Docker 社の [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">コンテナ型仮想環境を作成・運用するためのプラットフォームである <span class="jinr-d--text-color d--marker1 d--bold">Docker Desktop for Windows</span> のインストール方法を解説します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">仮想環境の分類と Docker</h2>



<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">Docker</span> は、Docker 社の開発しているコンテナ型の仮想環境プラットフォームです。</p>



<p class="wp-block-paragraph">仮想環境には、大きく分けると以下のような種類があります。今回紹介する Docker は<span class="jinr-d--text-color d--marker1 d--bold">コンテナ型</span>の仮想環境に分類されます。</p>



<ul class="wp-block-list jinr-list">
<li>ホスト型</li>



<li>ハイパーバイザ型</li>



<li>コンテナ型</li>
</ul>



<h3 class="wp-block-heading jinr-heading d--bold">ホスト型</h3>



<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">ホスト型</span>は、ホスト OS 上に仮想化ソフトウェアを用意し、そのソフト上で複数のゲスト OS を動作させる方法です。ホスト OS とは PC にもともと入っている OS です。ホスト型の仮想化ソフトとしては、Hyper-V、Virtualbox、VMware 等があります。</p>



<p class="wp-block-paragraph">ホスト型は手軽に別の OS 環境を作成することができます。Windows 上に Linux 環境を作りたい場合などに一般的によく使用される方法です。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="795" height="504" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-69.png" alt="仮想環境の分類 ホスト型" class="wp-image-13242" style="aspect-ratio:1.5773831098223994;width:472px;height:auto" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-69.png 795w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-69-300x190.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-69-768x487.png 768w" sizes="(max-width: 795px) 100vw, 795px" /></figure>
</div>


<h3 class="wp-block-heading jinr-heading d--bold">ハイパーバイザ型</h3>



<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">ハイパーバイザ型</span>は、ホスト型と異なりホストとなる OS がありません。ハードウェア上に仮想化ソフトウェアが入っており、その上にゲスト OS が作成されます。ホスト型に比べると処理速度が速く、一般的に企業などで導入される仮想化サーバーはこれに該当することが多いです。仮想化ソフトウェアには、VMWare ESXi 等があります。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="595" height="428" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-70.png" alt="仮想環境の分類 ハイパーバイザ型" class="wp-image-13243" style="aspect-ratio:1.3902395949843998;width:367px;height:auto" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-70.png 595w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-70-300x216.png 300w" sizes="(max-width: 595px) 100vw, 595px" /></figure>
</div>


<h3 class="wp-block-heading jinr-heading d--bold">コンテナ型</h3>



<p class="wp-block-paragraph"><span class="jinr-d--text-color d--marker1 d--bold">コンテナ型</span>は、ホスト OS 用のコンテナソフトウェアの上で複数のアプリケーションの仮想環境を作ることができます。上記 2 つの方法とは違い、OS を共通で使用します。</p>



<p class="wp-block-paragraph">コンテナ型のメリットは、管理が容易で軽量であることです。ホスト型は、便利ですが作成などの作業に時間がかかり、ゲスト OS 用にハードウェア資源（CPU やメモリ）の確保も必要です。コンテナ型は、ホスト OS を共通にしているため、データ移動・コピーなどが他の技術に比べ容易で、ハードウェア資源の節約もできます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="796" height="416" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-72.png" alt="仮想環境の分類 コンテナ型" class="wp-image-13245" style="aspect-ratio:1.9134716848399578;width:486px;height:auto" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-72.png 796w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-72-300x157.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-72-768x401.png 768w" sizes="(max-width: 796px) 100vw, 796px" /></figure>
</div>


<p class="wp-block-paragraph">今回紹介する Docker は、上記の「コンテナソフトウェア」に該当するコンテナ型の代表的なプラットフォームです。</p>



<p class="wp-block-paragraph">この記事では、<span class="jinr-d--text-color d--marker1 d--bold">Docker Desktop for Windows のインストール方法</span>を紹介します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">Docker Desktop for Windows <br>のインストール方法</h2>



<p class="wp-block-paragraph">Docker Desktop for Windows のインストール方法について説明していきます。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--heading-iconbox1 ">
			<div class="a--heading-iconbox-title">
			<div class="a--iconbox-title-icon"><i class="jif jin-ifont-caution" aria-hidden="true"></i></div>
			<div class="a--iconbox-title-text">注意点</div>
			</div>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">Docker Desktop for Windows は以下の利用条件があります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Docker Desktop 利用条件</strong></p>



<p class="wp-block-paragraph">大企業（従業員が 251 人以上、または、年間収入が 1,000 万米ドル以上 ）における Docker Desktop の商用利用には、有料サブスクリプション契約が必要です。</p>
</blockquote>



<p class="wp-block-paragraph">今回は、個人的利用、学習用という位置づけでご紹介します。企業にて商用使用する場合には、条件を十分に確認するようにし商用ださい。</p>
</div>
		</div></section>



<h3 class="wp-block-heading jinr-heading d--bold">Docker Desktop for Windows のダウンロード</h3>



<p class="wp-block-paragraph">Docker Desktop for Windows をインストールするには、<a href="https://docs.docker.com/desktop/windows/install/" target="_blank" rel="noreferrer noopener">こちら</a>にアクセスし、インストーラーをダウンロードしてください。</p>



<h3 class="wp-block-heading jinr-heading d--bold">Docker Desktop for Windows のインストール</h3>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">以降は、Windows 11 環境で、本記事更新時点の Docker Desktop for Windows 最新バージョン 4.55.0 を使用しています。</p>
</div>
		</div></section>



<p class="wp-block-paragraph">ダウンロードしたインストーラーを起動します。インストーラーを起動するとデスクトップにショートカットを作成するかどうかの画面が表示されます。必要に応じてチェックして「OK」をクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="701" height="484" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-56.png" alt="Docker Desktop for Windows インストール" class="wp-image-13223" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-56.png 701w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-56-300x207.png 300w" sizes="(max-width: 701px) 100vw, 701px" /></figure>
</div>


<p class="wp-block-paragraph">インストールの準備とインストールが始まります。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="703" height="483" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-58.png" alt="Docker Desktop for Windows インストール" class="wp-image-13225" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-58.png 703w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-58-300x206.png 300w" sizes="(max-width: 703px) 100vw, 703px" /></figure>
</div>


<p class="wp-block-paragraph">Installation succeeded と表示されたらインストール完了です。再起動が必要なので「Close and restart」をクリックしてPCを再起動します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="702" height="485" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-59.png" alt="Docker Desktop for Windows インストール" class="wp-image-13226" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-59.png 702w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-59-300x207.png 300w" sizes="(max-width: 702px) 100vw, 702px" /></figure>
</div>


<p class="wp-block-paragraph">PC が再起動されると、以下のような Service Agreement のページが表示されます。内容を確認して「Accept」をクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="806" height="505" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-65.png" alt="Docker Desktop for Windows インストール" class="wp-image-13234" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-65.png 806w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-65-300x188.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-65-768x481.png 768w" sizes="(max-width: 806px) 100vw, 806px" /></figure>
</div>


<p class="wp-block-paragraph">Windows 上で Docker を動かすためには、WSL (Windows Subsystem for Linux) が必要です。 以下のような画面が表示された場合は、Enter などの任意のキーを押すと WSL のインストールが実行されます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="187" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-61-1024x187.png" alt="Docker Desktop for Windows インストール WSL インストール" class="wp-image-13228" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-61-1024x187.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-61-300x55.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-61-768x140.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-61.png 1108w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">画面表示が消えてしまった場合は、コマンドプロンプトで以下を実行してください。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">wsl.exe --update</pre>



<p class="wp-block-paragraph">Docker のアカウントは Docker Desktop の以下画面から作成ができます。Docker アカウントがあると、Docker Hub から多くのイメージを取得したり、自分のイメージをあげたりできるようになるので作成しておくことをおすすめします。なお、アカウントを作成しなくても「Skip」を押していけば使用を開始可能です。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="581" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-67-1024x581.png" alt="Docker Desktop for Windows インストール" class="wp-image-13236" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-67-1024x581.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-67-300x170.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-67-768x436.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-67.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">WSL の再起動の画面が出たら画面を再起動してください。以下のようにコンテナの画面が表示されれば、Docker Desktop for Windows のインストールは完了です。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="583" src="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-68-1024x583.png" alt="Docker Desktop for Windows インストール" class="wp-image-13237" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/07/image-68-1024x583.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-68-300x171.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-68-768x437.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/07/image-68.png 1273w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading jinr-heading d--bold">Dockerイメージを取得してコンテナを作成・動作させる</h2>



<p class="wp-block-paragraph">Docker がインストールできたらイメージを取得して、コンテナを作成・動作させることができるようになります。具体的な方法は「<a href="https://tech.nkhn37.net/docker-container-python/" target="_blank" rel="noreferrer noopener">Dockerイメージを取得してコンテナを作成・動作させる方法</a>」を参考にしてください。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph">コンテナ型仮想環境を作成・運用するためのプラットフォームである <span class="jinr-d--text-color d--marker1 d--bold">Docker Desktop for Windows</span> のインストール方法を解説しました。</p>



<p class="wp-block-paragraph">コンテナ型の仮想環境は、ホスト型、ハイパーバイザ型といったようなゲスト OS の稼働が不要で、余計なオーバーヘッドやハードウェア資源（CPU やメモリ）を節約できるため、お手軽にアプリケーション環境を作ることができます。</p>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/docker-desktop-for-windows-install/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Disk: Enhanced  を使用したページ キャッシュ

Served from: tech.nkhn37.net @ 2026-06-26 07:19:48 by W3 Total Cache
-->