<?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>Docker – AichiLog</title>
	<atom:link href="https://aichi.blog/tag/docker/feed/" rel="self" type="application/rss+xml" />
	<link>https://aichi.blog</link>
	<description>学びて富み　富みて学ぶ</description>
	<lastBuildDate>Sat, 31 May 2025 05:31:45 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://aichi.blog/wp-content/uploads/2021/12/cropped-915AB649-D1E9-4810-9658-CB8CE1B605FD.JPEG-2-32x32.jpeg</url>
	<title>Docker – AichiLog</title>
	<link>https://aichi.blog</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://aichi.blog/tag/docker/feed/"/>
	<item>
		<title>【Kaggle】Kaggle Notebook を Docker を用いてローカル環境で構築する手順と作成方法</title>
		<link>https://aichi.blog/kaggle-notebook/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=kaggle-notebook</link>
		
		<dc:creator><![CDATA[愛知郎]]></dc:creator>
		<pubDate>Sat, 29 Mar 2025 14:49:42 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Kaggle]]></category>
		<category><![CDATA[ディープラーニング]]></category>
		<category><![CDATA[機械学習]]></category>
		<guid isPermaLink="false">https://aichi.blog/kaggle-notebook/</guid>

					<description><![CDATA[<p>今回の記事では、Kaggle Notebook をローカル環境で構築する手順と作成方法を解説します。 目次 実現することディレクトリ構成手順Kaggle API のコマンドコンペデータのダウンロードコンペに提出提出履歴ノ [&#8230;]</p>
<p>The post <a href="https://aichi.blog/kaggle-notebook/">【Kaggle】Kaggle Notebook を Docker を用いてローカル環境で構築する手順と作成方法</a> first appeared on <a href="https://aichi.blog">AichiLog</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>今回の記事では、Kaggle Notebook をローカル環境で構築する手順と作成方法を解説します。</p>
<p>
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">実現すること</a></li><li><a href="#toc2" tabindex="0">ディレクトリ構成</a></li><li><a href="#toc3" tabindex="0">手順</a></li><li><a href="#toc4" tabindex="0">Kaggle API のコマンド</a><ol><li><a href="#toc5" tabindex="0">コンペデータのダウンロード</a></li><li><a href="#toc6" tabindex="0">コンペに提出</a></li><li><a href="#toc7" tabindex="0">提出履歴</a></li><li><a href="#toc8" tabindex="0">ノートブックの取得コマンド</a></li></ol></li><li><a href="#toc9" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">実現すること</span></h2>
</p>
<ul>
<li>kaggle API を使用可能に（notebook やデータセットのダウンロードなど）</li>
<li>起動後すぐに Jupyter を使用可能</li>
<li>ローカルとコンテナ間で<code>/working</code>ディレクトリを同期</li>
</ul>
<h2><span id="toc2">ディレクトリ構成</span></h2>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-" data-lang="" data-show-lang="1"><code class="language-" data-hcb-clip="0">kaggle/
├── Dockerfile
├── docker-compose.yml
├── kaggle.json              # Kaggle API Key（手動で配置）
├── requirements.txt         # 必要なパッケージを記載
├── working/                 # Kaggleプロジェクト作業ディレクトリ
└── input/                   # コンペデータ配置用（自動でコンテナ内にマウント）</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;0&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><h2><span id="toc3">手順</span></h2>
</p>
<p><h4>1. ディレクトリを作成</h4>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-shell" data-lang="shell" data-show-lang="1"><code class="language-shell" data-hcb-clip="1">mkdir kaggle
cd kaggle

touch Dockerfile docker-compose.yml
mkdir working input</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;1&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><h4>2. kaggle API Key を取得</h4>
</p>
<p>Kaggle サイトにアクセスして、API Key を取得してください。<code>.json</code>ファイルがダウンロードされるので、名前を<code>kaggle.json</code>に変更して、<code>kaggle</code>ディレクトリに配置してください。</p>
<p><h4>3. requirements.txt を作成</h4>
</p>
<p>必要なパッケージを記載してください。</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-" data-lang="" data-show-lang="1"><code class="language-" data-hcb-clip="2">numpy
pandas
matplotlib
scikit-learn
seaborn</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;2&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><h4>4. Dockerfile を作成</h4>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-dockerfile" data-lang="dockerfile" data-show-lang="1"><code class="language-dockerfile" data-hcb-clip="3">FROM gcr.io/kaggle-gpu-images/python:latest

# Kaggle CLI用APIキーを配置
COPY kaggle.json /root/.kaggle/kaggle.json
RUN chmod 600 /root/.kaggle/kaggle.json

# requirements.txt のコピーとインストール
COPY requirements.txt /kaggle/requirements.txt
RUN pip install --no-cache-dir -r /kaggle/requirements.txt

# Jupyter用のカーネルをインストール
RUN pip install ipykernel
RUN python -m ipykernel install --user --name kaggle-env --display-name "Python (Kaggle)"

# デフォルトディレクトリの作成
RUN mkdir -p /kaggle/input /kaggle/working

# 作業ディレクトリを設定（docker exec -it kaggle bash をした際に、このディレクトリが開かれる）
WORKDIR /kaggle/working

# Jupyterを起動できるようにポートを空けておく
EXPOSE 8888

# 起動時にJupyterを自動起動
CMD ["jupyter", "lab", "--ip=0.0.0.0", "--port=8888", "--allow-root", "--NotebookApp.token=''", "--NotebookApp.password=''"]</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;3&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><h4>5. docker-compose.yml を作成</h4>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-yaml" data-lang="yaml" data-show-lang="1"><code class="language-yaml" data-hcb-clip="4">version: "3.9"

services:
  kaggle:
    platform: linux/amd64 # Apple Siliconで起動する際に必要
    build: .
    container_name: kaggle
    ports:
      - "8888:8888"
    volumes:
      - ./working:/kaggle/working
      - ./input:/kaggle/input
    tty: true
    stdin_open: true</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;4&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><h4>6. コンテナを起動</h4>
</p>
<p>ここで注意が必要です。</p>
<p>最初に Docker デスクトップを起動し、歯車アイコンをクリック。<code>Resources</code>タブをクリックし、<code>Virtual Machines</code>の値を変更してください。</p>
<p><img decoding="async" src="https://aichi.blog/wp-content/uploads/2025/05/docker-setting-1.png" alt="docker-setting"></p>
<p>僕の場合、136 にしました。参考までに。</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-shell" data-lang="shell" data-show-lang="1"><code class="language-shell" data-hcb-clip="5">docker compose up -d</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;5&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p>コマンドが終了するまで、結構時間がかかりますので、気長に待ちましょう。</p>
<p><h4>7. コンテナに接続</h4>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-shell" data-lang="shell" data-show-lang="1"><code class="language-shell" data-hcb-clip="6">docker exec -it kaggle bash
jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root --NotebookApp.token=''
# --ip=0.0.0.0 : すべてのIPからのアクセスを許可
# --port=8888 : ポート番号を指定
# --allow-root : ルートユーザーでの起動を許可（Dockerでは必要）
# --NotebookApp.token='' : 認証トークンなしでアクセス可（セキュリティ注意）</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;6&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><code>/kaggle/working</code>ディレクトリが開かれます。こちらで、jupyter notebook を作成することができます！</p>
<p><h2><span id="toc4">Kaggle API のコマンド</span></h2>
</p>
<p>以下に、Kaggle API のコマンドをまとめました。<br />
詳しい情報は公式ドキュメントを参照してください。</p>
<p><h3><span id="toc5">コンペデータのダウンロード</span></h3>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-shell" data-lang="shell" data-show-lang="1"><code class="language-shell" data-hcb-clip="7">kaggle competitions download -c &lt;コンペ名&gt; -p &lt;保存先パス&gt;
kaggle competitions download -c titanic -p /kaggle/input/titanic
unzip ファイル名.zip -d 解凍先パス</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;7&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><h3><span id="toc6">コンペに提出</span></h3>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-shell" data-lang="shell" data-show-lang="1"><code class="language-shell" data-hcb-clip="8">kaggle competitions submit -c &lt;コンペ名&gt; -f &lt;提出ファイル&gt; -m "&lt;コメント&gt;"
kaggle competitions submit -c titanic -f submission.csv -m "1st submission"</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;8&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><h3><span id="toc7">提出履歴</span></h3>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-shell" data-lang="shell" data-show-lang="1"><code class="language-shell" data-hcb-clip="9">kaggle competitions submissions -c &lt;コンペ名&gt;</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;9&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><h3><span id="toc8">ノートブックの取得コマンド</span></h3>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers language-shell" data-lang="shell" data-show-lang="1"><code class="language-shell" data-hcb-clip="10">kaggle kernels pull &lt;username&gt;/&lt;notebook-name&gt;</code></pre>
<p><button class="hcb-clipboard" data-clipboard-target="[data-hcb-clip=&quot;10&quot;]" data-clipboard-action="copy" aria-label="コードをクリップボードにコピーする"></button></div>
<p><h2><span id="toc9">まとめ</span></h2>
</p>
<p>Kaggle Notebook をローカル環境で構築する手順と作成方法を解説しました。<br />
こちらのプロジェクトで実現できることは、</p>
<ul>
<li>kaggle API を使用可能に（notebook やデータセットのダウンロードなど）</li>
<li>起動後すぐに Jupyter を使用可能</li>
<li>ローカルとコンテナ間で<code>/working</code>ディレクトリを同期</li>
</ul>
<p>です。</p>
<p>参考になれば幸いです。</p><p>The post <a href="https://aichi.blog/kaggle-notebook/">【Kaggle】Kaggle Notebook を Docker を用いてローカル環境で構築する手順と作成方法</a> first appeared on <a href="https://aichi.blog">AichiLog</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
