情報工学徹底攻略実験とレポートの私的学習ガイド

困ったとき貼り付けて調べる

エラーを特定

画面に出たエラーメッセージを下の欄に貼り付けて「特定する」を押すと、この実験で起こりうるエラーの中から一致するものを探し、意味・考えられる原因・確かめるコマンド・直し方を表示します。

エラーメッセージから探す

Ctrl+Enter でも特定できます
例を試す

貼り付けた文は、このブラウザの中だけで調べます。どこにも送信されず、保存もされません。

うまく見つからないとき

  • エラーの行を丸ごと貼る:英語のエラーは、決まった言い回しの部分(Permission denied、Connection refused など)で探しています。IPアドレスやファイル名が入っていてもかまいません。前後の数行やログをまとめて貼ってもよく、含まれるエラーをすべて探します
  • コピーできない画面では、目立つ英語を数語だけ打つ:Proxmoxのコンソールの文字はコピーしにくいので、not found や timed out のような特徴のある言葉だけを打ち込みます。日本語で「文字化け」「ロック」のように打っても、題名から探します
  • いちばん下の行を見る:Pythonの Traceback や journalctl のログでは、エラーの中身は最後のほうに出ます
  • それでも見つからなければ:トラブル対処集で症状から探すか、AIに相談するときの型を使います。パスワードや秘密鍵の中身は、どこにも貼り付けないでください

結果の「エラー」「注意」「心配いらない表示」は、その表示の重さの目安です。「心配いらない表示」は、エラーのように見えても対処の必要がないものです。

登録されているエラーの一覧

全 172 件。分野を選ぶと、その見出しへ移動します。

コマンド全般・Linux エディタ(nano・vim) パッケージ(apt) ネットワーク・Netplan・時刻 サービス・sudo Proxmox・インストール SSH・鍵・scp ファイアウォール・接続確認 Windows・PowerShell Docker・Compose・YAML Nginx・ブラウザ curl GoAccess DNS(BIND9・nslookup・dig) Ollama・Open WebUI Python・自作チャット

コマンド全般・Linux16件

エラーコマンドが見つからない(Ubuntu)Ubuntu

表示の例command not found not found, did you mean

打ったコマンドの名前が、Ubuntuの中に見つかりません。

考えられる原因

  • 綴りの打ち間違い、大文字と小文字の違い
  • まだインストールしていない(docker、dig、ollama など)
  • Windows用のコマンドをUbuntuで打った(ipconfig、Test-NetConnection、Get-ChildItem など)
  • 全角の文字やスペースが混ざっている

確かめる

Windows 11 ターミナル(SSH接続)bash
type コマンド名

直し方

  • プロンプトを見て、正しい画面に打っているか確かめる
  • 指導書と1文字ずつ見比べて打ち直す(日本語入力はオフに)
  • 必要なものを入れる。例:dig なら sudo apt install -y dnsutils
エラーコマンドが見つからない(PowerShell)Windows

表示の例is not recognized as として認識されません CommandNotFoundException

打ったコマンドの名前が、Windowsの中に見つかりません。

考えられる原因

  • Ubuntu用のコマンドをWindowsで打った(ip a、sudo、nano、systemctl など)
  • 綴りの打ち間違い
  • ssh で出た場合は、WindowsのOpenSSHクライアントが入っていない(Windows 11では通常は最初から入っている)

直し方

  • Ubuntuで打つべきコマンドなら、先に ssh t3admin@192.168.100.xxx で接続してから打つ
  • 作業区分ラベルを見直す
エラー指導書の <user> や [自分のIP] をそのまま打ったUbuntu/Windows

表示の例operator is reserved for future use 今後の使用のために予約されています RedirectionNotSupported syntax error near unexpected token user: No such file or directory

< や > が「ファイルから読む・ファイルへ書く」という記号として解釈されました。

考えられる原因

  • 指導書の <user>、192.168.100.xxx、[自分のIP] を、自分の値に書き換えずに打った

直し方

  • <user> は t3admin、xxx は xxx(IPアドレスは 192.168.100.xxx)に置き換える
  • このガイドで番号を設定すると、置き換え済みのコマンドをコピーできる
エラーPermission denied(権限がない)Ubuntu

表示の例Permission denied 権限がありません

その操作をする権限がありません。

考えられる原因

  • 管理者の操作なのに sudo を付け忘れた
  • ファイルやディレクトリの権限が足りない
  • スクリプトに実行の権限がない(./check-web.sh など)

確かめる

Windows 11 ターミナル(SSH接続)bash
ls -l ファイル名

直し方

  • 管理者の操作なら、先頭に sudo を付けて実行し直す
  • スクリプトなら chmod 755 ファイル名 で実行できるようにする
  • SSHの Permission denied (publickey) は別の問題(鍵の項目を見る)
エラーNo such file or directory(ファイルが見つからない)Ubuntu/Windows

表示の例No such file or directory そのようなファイルやディレクトリはありません Cannot find path パスが存在しないため検出できません

指定した場所に、そのファイルやディレクトリがありません。

考えられる原因

  • パスの打ち間違い、大文字と小文字の違い
  • 今いる場所が違う(相対パスで指定した)
  • まだ作っていない(mkdir や nano の前)
  • Windows PowerShell 5.1 で ~ を使った(~ が自分のフォルダに置き換わらない)

確かめる

Windows 11 ターミナル(SSH接続)bash
pwd
ls -la

直し方

  • pwd で今いる場所を、ls で中身を確かめてから打ち直す
  • 絶対パス(/ から始まる書き方)で指定する
  • Windowsでは ~ の代わりに $env:USERPROFILE を使う
エラーコピー元が見つからない(cp: cannot stat)Ubuntu

表示の例cannot stat

コピーしようとしたファイルが、その場所にありません。

考えられる原因

  • ファイル名が違う(1日目の Netplan の元のファイルは、環境によって 50-cloud-init.yaml 以外の名前のことがある)
  • 今いる場所が違う

確かめる

Ubuntuサーバー ターミナルbash
pwd
ls /etc/netplan

直し方

  • ls で実際のファイル名を確かめ、その名前でコピーし直す
エラーsudo のパスワードが通らないUbuntu

表示の例Sorry, try again incorrect password attempt

sudo で入力したパスワードが違っていました。

考えられる原因

  • 入力が画面に出ないため、打ち間違いに気づかない
  • キーボードの配列の設定が違い、記号の位置がずれている(インストールで Japanese を選ばなかった)
  • Caps Lock がオンになっている

直し方

  • ゆっくり打ち直す。パスワードは自分(t3admin)のもの
  • 記号を含むパスワードで失敗し続けるなら、キーボードの配列を疑う
エラーsudo が許可されていないUbuntu

表示の例is not in the sudoers file may not run sudo

このユーザーには sudo の権限が与えられていません。

考えられる原因

  • インストールで作ったユーザー以外でログインしている
  • sudoers の設定を変えてしまった

確かめる

Ubuntuサーバー ターミナルbash
id

直し方

  • インストールで作ったユーザー(t3admin)でログインし直す
  • id の結果に 27(sudo) がなければ、教員に相談する
注意sudo: unable to resolve host(ホスト名が見つからない)Ubuntu

表示の例unable to resolve host

自分自身のホスト名を、名前からIPアドレスに変換できません。多くの場合、コマンドそのものは実行されています。

考えられる原因

  • ホスト名を変えたのに、/etc/hosts の 127.0.1.1 の行を直していない
  • /etc/hosts を編集したときに、その行を消してしまった

確かめる

Windows 11 ターミナル(SSH接続)bash
hostname
cat /etc/hosts

直し方

  • sudo nano /etc/hosts で、127.0.1.1 の行を今のホスト名(hostname の結果)に合わせる
エラースクリプトが実行できない(Windowsの改行コード)Ubuntu

表示の例bad interpreter \r': command not found $'\r' ^M

Windowsの改行コード(CRLF)が混ざったスクリプトを、Linuxで実行しようとしました。

考えられる原因

  • Windowsのメモ帳などで作ったファイルを、そのままサーバーに送った

直し方

  • Ubuntuの上で nano を使って作り直す
  • 作り直さない場合は、sed -i 's/\r$//' ファイル名 で改行コードを直す
エラーunbound variable(値のない変数)Ubuntu

表示の例unbound variable

set -u を付けたスクリプトで、値の入っていない変数を使いました。

考えられる原因

  • 変数名の打ち間違い

直し方

  • 表示された変数名の綴りを見直す
エラーIs a directory/Not a directoryUbuntu

表示の例Is a directory Not a directory

ファイルを指定すべきところにディレクトリを指定した(またはその逆)。

考えられる原因

  • パスの最後の名前が違う(/opt/nginx と /opt/nginx/compose.yaml など)

確かめる

Windows 11 ターミナル(SSH接続)bash
ls -l 指定したパス

直し方

  • ファイル名まで含めて指定し直す
エラーKilled(メモリ不足で強制終了)Ubuntu

表示の例Killed Out of memory oom-kill Killed process

メモリが足りなくなり、プログラムが強制的に終了させられました。

考えられる原因

  • 仮想マシンのメモリ(1024 MB)に対して、動かしているものが多い(Ollamaのモデル、Open WebUI など)
  • 大きなモデルを試した

確かめる

Windows 11 ターミナル(SSH接続)bash
free -h
sudo docker stats --no-stream
sudo dmesg | grep -i -E "out of memory|killed process"

直し方

  • 使っていないコンテナを止める(3日目の whoami など)
  • 小さなモデル(qwen2.5:0.5b)に戻す
  • それでも足りなければ、メモリを増やせるか教員に相談する
心配いらない表示画面が止まって入力できない(1画面ずつの表示)Ubuntu

表示の例(END) lines 1-

長い出力を1画面ずつ見せる表示(ページャ)になっています。壊れてはいません。

考えられる原因

  • systemctl status や journalctl の出力が長い

直し方

  • q を押すと抜けられる。Space で次の画面、↑↓ で1行ずつ動く
エラーdmesg が読めないUbuntu

表示の例read kernel buffer failed Operation not permitted

カーネルのメッセージを読む権限がありません。

考えられる原因

  • Ubuntuでは、一般ユーザーが dmesg を読めない設定になっていることがある

直し方

  • sudo dmesg | tail -n 30 のように sudo を付ける
心配いらない表示複数行の貼り付けの確認(Windows Terminal)Windows

表示の例paste text that contains multiple lines 複数行 複数の行

複数行のテキストを貼り付けようとしたときの確認です。そのまま貼ると、1行ずつ順に実行されます。

考えられる原因

  • コマンドをまとめてコピーした

直し方

  • 中身を確かめてから「貼り付け」を選ぶ
  • エラーが出たときに原因を追いやすいよう、慣れるまでは1行ずつ実行してもよい

エディタ(nano・vim)5件

エラーnano で保存できない(Error writing)Ubuntu

表示の例Error writing Permission denied ]

ファイルを書き込む権限がないまま nano で開いていたため、保存できませんでした。

考えられる原因

  • sudo を付けずに nano /etc/… で開いた

直し方

  • 書いた内容を控えるかコピーしてから、Ctrl+X → N(保存しない)で閉じる
  • sudo nano ファイル名 で開き直して、もう一度書く
心配いらない表示nano の「Save modified buffer?」「File Name to Write」Ubuntu

表示の例Save modified buffer File Name to Write

エラーではなく、nano からの確認です。

考えられる原因

  • 保存せずに閉じようとした(Save modified buffer?)
  • 保存しようとした(File Name to Write)

直し方

  • Save modified buffer? には、保存するなら Y、しないなら N
  • File Name to Write には、名前を変えずにそのまま Enter
エラーvim で保存できない(E45・E212)Ubuntu

表示の例E45 readonly' option is set E212 Can't open file for writing

書き込む権限のないファイルを vim で開いていたため、保存できません。

考えられる原因

  • sudo を付けずに開いた

直し方

  • Esc → :q! → Enter で保存せずに閉じ、sudo nano ファイル名(または sudo vim)で開き直す
心配いらない表示vim の E37: No write since last changeUbuntu

表示の例E37 No write since last change

変更を保存していないまま閉じようとしました。

直し方

  • 保存して閉じるなら :wq、保存しないなら :q!
心配いらない表示vim から抜けられないUbuntu

表示の例-- INSERT -- -- 挿入 -- to exit Vim

vim の中にいます。文字を打つモードと命令するモードがあります。

直し方

  • Esc を2〜3回押してから :q! → Enter(保存せずに終了)

パッケージ(apt)11件

エラーapt が使用中(Could not get lock)Ubuntu

表示の例Could not get lock Waiting for cache lock is held by process

ほかのプログラムがaptを使っている最中なので、待たされています。

考えられる原因

  • 起動した直後で、Ubuntuが裏で自動更新をしている
  • 別の画面(SSHのタブなど)で apt を実行中

確かめる

Ubuntuサーバー ターミナルbash
ps aux | grep -i -E "apt|unattended"

直し方

  • 数分待ってからやり直す
  • ロックのファイルを消すなどの無理な操作はしない
エラーapt で「are you root?」Ubuntu

表示の例are you root? Could not open lock file

管理者の権限がないまま apt を実行しました。

考えられる原因

  • sudo の付け忘れ

直し方

  • sudo apt … と打ち直す
エラーapt で Temporary failure resolvingUbuntu

表示の例Temporary failure resolving

パッケージの配布元の名前を、IPアドレスに変換できませんでした。

考えられる原因

  • DNSの設定(Netplanの nameservers)が間違っている
  • ネットワークにつながっていない

確かめる

Ubuntuサーバー ターミナルbash
ping -c 3 192.168.100.1
resolvectl status

直し方

エラーapt で Failed to fetchUbuntu

表示の例Failed to fetch http Some index files failed to download Could not connect to Unable to connect to

パッケージの配布元からファイルを取ってこられませんでした。

考えられる原因

  • ネットワークやゲートウェイの設定の誤り
  • 一時的に配布元が混んでいる

確かめる

Ubuntuサーバー ターミナルbash
ping -c 3 www.google.co.jp

直し方

  • ネットワークを確かめ、時間をおいて sudo apt update からやり直す
エラーパッケージが見つからない(Unable to locate package)Ubuntu

表示の例Unable to locate package has no installation candidate

その名前のパッケージが、カタログの中に見つかりません。

考えられる原因

  • パッケージ名の打ち間違い(docker-compose-v2、qemu-guest-agent など)
  • sudo apt update をまだ一度も実行していない

直し方

  • sudo apt update を実行してから、名前を確かめてインストールし直す
エラーdpkg was interrupted(途中で止まった)Ubuntu

表示の例dpkg was interrupted dpkg --configure -a

前回のインストールや更新が途中で止まり、中途半端な状態になっています。

考えられる原因

  • 更新の途中で電源を切った、SSHの接続が切れた

直し方

  • sudo dpkg --configure -a を実行してから、元の操作をやり直す
エラーapt の Sub-process … returned an error codeUbuntu

表示の例Sub-process /usr/bin/dpkg returned an error code Errors were encountered while processing

パッケージの設定の途中でエラーが起きました。本当の原因は、この表示より上に出ています。

考えられる原因

  • 途中で止めた更新が残っている
  • ディスクの空きがない
  • パッケージの設定の失敗

確かめる

Ubuntuサーバー ターミナルbash
df -h

直し方

  • この表示より上のエラーの文を読み、このページで調べ直す
  • sudo dpkg --configure -a と sudo apt -f install を試してから、元の操作をやり直す
心配いらない表示The following packages have been kept backUbuntu

表示の例have been kept back kept back

一部のパッケージの更新が、段階的に配布するなどの理由で見送られたという表示です。エラーではありません。

直し方

  • 実験の範囲では、そのままでかまわない
エラーapt で「is not valid yet」(時計のずれ)Ubuntu

表示の例is not valid yet invalid for another

サーバーの時計が遅れているため、配布元の情報が「まだ有効期間になっていない」と判断されました。

考えられる原因

  • 時刻合わせ(NTP)がうまくいっていない

確かめる

Ubuntuサーバー ターミナルbash
timedatectl status

直し方

  • 1日目 手順8の時刻合わせを見直し、System clock synchronized: yes になってから apt をやり直す
心配いらない表示System restart required(再起動が必要)Ubuntu

表示の例System restart required Pending kernel upgrade Newer kernel available

カーネルなどが更新されたので、再起動すると新しいものに切り替わる、という知らせです。

直し方

  • 区切りのよいところで sudo reboot
心配いらない表示Which services should be restarted?(色つきの画面)Ubuntu

表示の例Which services should be restarted Daemons using outdated libraries

更新したソフトを使っているサービスを再起動するかの確認です。

直し方

  • 基本はそのまま Enter(OK)で進める

ネットワーク・Netplan・時刻9件

エラー名前をIPアドレスに変換できない(Temporary failure in name resolution)Ubuntu

表示の例Temporary failure in name resolution Name or service not known

名前(www.google.co.jp など)を、IPアドレスに変換できませんでした。

考えられる原因

  • Netplanの nameservers の設定の誤り(字下げ、値)
  • ネットワークそのものにつながっていない
  • 名前の打ち間違い

確かめる

Ubuntuサーバー ターミナルbash
ping -c 3 192.168.100.1
resolvectl status

直し方

  • IPアドレスなら届く場合は、/etc/netplan/99-custom.yaml の nameservers を見直して sudo netplan apply
  • IPアドレスでも届かない場合は、ネットワークの項目へ
エラーNetwork is unreachable(外への道が分からない)Ubuntu

表示の例Network is unreachable

宛先へ向かう道(経路)が設定されていません。

考えられる原因

  • Netplanの routes(ゲートウェイ)の設定の誤り
  • NICの名前(ens18)の間違いで、設定そのものが効いていない

確かめる

Ubuntuサーバー ターミナルbash
ip a
ip route

直し方

  • ip route に default via 192.168.100.1 があるか確かめ、なければ Netplan の設定を直して sudo netplan apply
エラー相手に届かない(Destination Host Unreachable・No route to host)Ubuntu/Windows

表示の例Destination Host Unreachable No route to host 宛先ホストに到達できません

相手のIPアドレスの機器が、ネットワーク上に見つかりません。

考えられる原因

  • 相手(VM)が止まっている
  • IPアドレスの打ち間違い、固定IPの設定の誤り
  • ほかの人とIPアドレスが重なっている

確かめる

(ProxmoxでVMが「実行中」になっているか見る)

Ubuntuサーバー ターミナルbash
ip a

直し方

  • VMを起動し、ip a で自分のアドレスが 192.168.100.xxx になっているか確かめる
エラーping の応答がない(100% packet loss・要求がタイムアウトしました)Ubuntu/Windows

表示の例100% packet loss Request timed out 要求がタイムアウトしました

送った確認の信号に、相手から返事がありませんでした。

考えられる原因

  • 相手が止まっている、アドレスの誤り
  • 途中で遮られている

確かめる

Ubuntuサーバー ターミナルbash
ip a
ip route

直し方

  • まず同じネットワークのゲートウェイ(ping -c 3 192.168.100.1)に届くかを確かめ、どこまで届くかで原因をしぼる
注意Netplan の Permissions … are too openUbuntu

表示の例Permissions for /etc/netplan Netplan configuration should NOT be accessible

Netplanの設定ファイルを、ほかのユーザーも読める状態になっているという警告です。

考えられる原因

  • ファイルの権限が 600 より緩い

直し方

  • sudo chmod 600 /etc/netplan/99-custom.yaml
エラーNetplan の Error in network definitionUbuntu

表示の例Error in network definition unknown key expected sequence expected mapping

Netplanの設定ファイルの中身(項目の名前や形)が正しくありません。

考えられる原因

  • 項目名の打ち間違い(adresses、nameserver など)
  • 一覧で書くべきところ(- 192.168.100.xxx/24)をそう書いていない
  • 字下げの深さが違い、項目が別の場所に入っている

確かめる

Ubuntuサーバー ターミナルbash
sudo netplan generate

直し方

  • 表示された行の前後を、このガイドの例と字下げの深さまで見比べる
心配いらない表示netplan apply の Cannot call Open vSwitchUbuntu

表示の例Cannot call Open vSwitch ovsdb-server.service is not running

使っていない機能(Open vSwitch)についての警告で、設定の反映には影響しません。

確かめる

Ubuntuサーバー ターミナルbash
ip a

直し方

  • 気にしなくてよい。ip a で設定が反映されたかを確かめる
エラー時刻が同期しない(System clock synchronized: no)Ubuntu

表示の例System clock synchronized: no NTP service: inactive Timed out waiting for reply from

時刻合わせがまだ済んでいないか、NTPサーバーと通信できていません。

考えられる原因

  • /etc/systemd/timesyncd.conf の # を消し忘れた、NTP= の綴りの誤り
  • 設定を書き換えたあとに、サービスを再起動していない
  • timedatectl set-ntp true を実行していない
  • 同期に少し時間がかかっている

確かめる

Ubuntuサーバー ターミナルbash
cat /etc/systemd/timesyncd.conf
timedatectl show-timesync --all
journalctl -u systemd-timesyncd -n 30

直し方

  • 設定を直して sudo systemctl restart systemd-timesyncd
  • 数十秒待ってから timedatectl status を見直す
心配いらない表示時刻が9時間ずれて見える(Time zone: Etc/UTC)Ubuntu

表示の例Time zone: Etc/UTC Etc/UTC (UTC, +0000)

世界の基準時刻(UTC)で表示されているだけで、時計そのものは合っています。

直し方

  • System clock synchronized: yes なら同期は成功している。タイムゾーンを変えるかは授業の指示に従う

サービス・sudo9件

エラーサービスが見つからない(Unit … not found)Ubuntu

表示の例Unit … not found could not be found Unit file … does not exist

指定した名前のサービスがありません。

考えられる原因

  • サービス名の打ち間違い(systemd-timesyncd、qemu-guest-agent など)
  • まだインストールしていない

確かめる

Ubuntuサーバー ターミナルbash
systemctl list-units --type=service | grep 名前の一部

直し方

  • 正しい名前で打ち直す。Ubuntuでは SSH は ssh、DNS は bind9(正式名 named)
エラーJob for … failed(サービスの起動に失敗)Ubuntu

表示の例Job for … failed failed because the control process exited with error code journalctl -xeu

サービスを起動・再起動しようとしましたが、失敗しました。

考えられる原因

  • 設定ファイルの書き間違い(多くの場合これ)
  • 同じポートをほかのプログラムが使っている

確かめる

Ubuntuサーバー ターミナルbash
sudo systemctl status サービス名
sudo journalctl -xeu サービス名 -n 30

直し方

  • ログの最後のほうに出ているエラーの文を、このページで調べ直す
  • 書式を検査するコマンドがあるサービスは、それで確かめる(sudo sshd -t、sudo named-checkconf など)
エラーActive: failed(サービスが失敗している)Ubuntu

表示の例Active: failed Result: exit-code (code=exited, status= failed with result

サービスが起動に失敗したか、途中で止まりました。

考えられる原因

  • 設定ファイルの誤り
  • 必要なものがない

確かめる

Ubuntuサーバー ターミナルbash
sudo journalctl -u サービス名 -n 30

直し方

  • ログのエラーの文を読み、原因を直してから sudo systemctl restart サービス名
注意Active: inactive (dead)(サービスが止まっている)Ubuntu

表示の例inactive (dead)

サービスが動いていません。

考えられる原因

  • まだ起動していない、自動起動が有効になっていない

直し方

  • sudo systemctl enable --now サービス名 で、自動起動を有効にして今すぐ起動する
心配いらない表示The unit files have no installation configUbuntu

表示の例have no installation config no installation config

このサービスは自動起動の設定を持たず、必要なときに自動で起動する仕組みだという説明です。

考えられる原因

  • qemu-guest-agent で enable を実行した

確かめる

Ubuntuサーバー ターミナルbash
systemctl status qemu-guest-agent

直し方

  • active (running) なら問題ない
エラーQEMU Guest Agent が起動しないUbuntu

表示の例Dependency failed for QEMU Guest Agent guest_agent.0.device Timed out waiting for device virtio-ports

Guest Agent が使う仮想の部品が見つからず、起動できません。

考えられる原因

  • ProxmoxでQEMU Guest Agentを有効にしていない
  • 有効にしたあと、VMの電源を一度完全に切っていない

直し方

  • Proxmoxの「オプション」で有効になっているか確かめ、sudo shutdown -h now で止めてから「開始」する
注意Proxmoxの「Guest Agent not running」Proxmox

表示の例Guest Agent not running QEMU guest agent is not running

ProxmoxからVMの中の Guest Agent に連絡がつきません。

考えられる原因

  • Ubuntu側に qemu-guest-agent を入れていない、または動いていない

確かめる

Ubuntuサーバー ターミナルbash
systemctl status qemu-guest-agent

直し方

  • 1日目 手順11・12をやり直す
エラーvisudo の syntax error(What now?)Ubuntu

表示の例What now? syntax error near line >>> /etc/sudoers

sudoers に書き間違いがあるので、保存する前に止めてくれています。

考えられる原因

  • visudo で開いたファイルを、うっかり書き換えた

直し方

  • e(もう一度編集)で直すか、x(保存せずに終了)を選ぶ。Q(保存して終了)は選ばない
エラーsudo が使えなくなった(parse error in /etc/sudoers)Ubuntu

表示の例parse error in /etc/sudoers no valid sudoers sources found unable to initialize policy plugin

sudoers の設定が壊れているため、sudo そのものが動きません。

考えられる原因

  • visudo を使わずに sudoers を書き換えた

直し方

  • pkexec visudo で直せる場合がある
  • 直せなければ、壊す前のスナップショットに戻すか、教員に相談する

Proxmox・インストール12件

エラーProxmoxにログインできないProxmox

表示の例Login failed ログインに失敗しました

ユーザー名・パスワード・Realmの組み合わせが違います。

考えられる原因

  • Realm が「Proxmox VE authentication server」になっていない
  • ユーザー名やパスワードの打ち間違い

直し方

  • Realm を確かめてから入力し直す。分からなければ教員に確認する
エラーProxmoxの「401: No ticket」Proxmox

表示の例No ticket 401 Unauthorized

ログインの有効期限が切れました。

考えられる原因

  • 長い時間、画面を開いたままにしていた

直し方

  • ページを再読み込みして、ログインし直す
心配いらない表示Proxmoxの「有効なサブスクリプションがありません」Proxmox

表示の例valid subscription サブスクリプション

有料サポートの契約がないという案内で、使うのに問題はありません。

直し方

  • OKを押して閉じる
注意証明書の警告(この接続ではプライバシーが保護されません)ブラウザ

表示の例ERR_CERT プライバシーが保護されません Your connection is not private

接続先のサーバーの証明書を、ブラウザが確かめられなかったという警告です。

考えられる原因

  • 学内向けの証明書を使っている(Proxmoxでよくある)

直し方

  • 進んでよいかは教員の指示に従う。ほかのサイトで同じ警告を無視する習慣はつけない
エラーVMが作れない(already exists)Proxmox

表示の例already exists on node VM … already exists config file already exists

そのVM IDは、すでに使われています。

考えられる原因

  • VM IDの計算の誤り(100+学生番号の下2桁)
  • 同じVMを2回作ろうとした

直し方

  • VM ID が 1XX で正しいか確かめる。ほかの人の番号とぶつかっている場合は教員に相談する
エラーVM is locked(VMがロック中)Proxmox

表示の例VM is locked is locked (snapshot) is locked (backup)

スナップショットの作成などの処理中なので、ほかの操作を受け付けません。

考えられる原因

  • スナップショットやバックアップの処理が終わっていない

直し方

  • しばらく待つ。長く続く場合は教員に相談する
エラーVMが起動しない(start failed・QEMU exited)Proxmox

表示の例QEMU exited with code start failed

VMの起動に失敗しました。

考えられる原因

  • 物理サーバーのメモリが足りない
  • VMの設定の誤り

直し方

  • Proxmoxの画面下の「タスク」のログを開き、表示された内容を教員に伝えて相談する
エラースナップショットが取れないProxmox

表示の例snapshot feature is not available snapshot is not supported

VMのディスクを置いた場所が、スナップショットに対応していません。

考えられる原因

  • ディスクのストレージを local-lvm にしなかった

直し方

  • 教員に相談する(ディスクを移すか、作り直す)
エラーコンソールが映らないProxmox

表示の例Failed to connect to server Guest has not initialized the display

VMの画面に接続できないか、まだ画面が出ていません。

考えられる原因

  • VMが起動していない
  • 起動の途中

直し方

  • 「開始」を押してから、少し待ってコンソールを開き直す
注意再起動したらインストーラーのメニューが出たProxmox

表示の例Try or Install Ubuntu Server Ubuntu Server with the HWE kernel

仮想DVDに入れたISOから、もう一度起動しています。

考えられる原因

  • インストール後にISOを取り出していない

直し方

  • VMを止め、「ハードウェア」→「CD/DVDドライブ」→「編集」→「メディアを使用しない」にしてから起動する
エラーLogin incorrect(コンソールでログインできない)Ubuntu

表示の例Login incorrect

ユーザー名かパスワードが違います。

考えられる原因

  • ユーザー名は t3admin
  • パスワードの打ち間違い(入力は見えない)、キーボードの配列の違い、Caps Lock

直し方

  • ゆっくり打ち直す
心配いらない表示Please remove the installation medium, then press ENTERProxmox

表示の例Please remove the installation medium then press ENTER

インストールが終わり、再起動する前の案内です。

直し方

  • Enter を押す。そのあとでISOを取り出しておく

SSH・鍵・scp21件

エラーSSHの Connection timed outWindows

表示の例connect to host … port 22: Connection timed out port 22: Connection timed out

SSHの窓口(22番)に、時間内に届きませんでした。

考えられる原因

  • VMが止まっている
  • IPアドレスの打ち間違い
  • ufwで22番を許可していない

確かめる

Windows 11 ターミナルpowershell
Test-NetConnection 192.168.100.xxx -Port 22
Ubuntuサーバー ターミナルbash
sudo ufw status
ip a

直し方

  • Proxmoxのコンソールから sudo ufw allow 22/tcp
  • IPアドレスを確かめて打ち直す
エラーSSHの Connection refusedWindows

表示の例port 22: Connection refused connect to host … port … Connection refused

門は開いていますが、SSHのサーバーが動いていないので断られました。

考えられる原因

  • SSHのサーバーが止まっている、設定の誤りで起動できない

確かめる

Ubuntuサーバー ターミナルbash
systemctl status ssh
sudo sshd -t

直し方

  • 設定の誤りを直してから sudo systemctl start ssh
エラーCould not resolve hostnameWindows

表示の例Could not resolve hostname No such host is known そのようなホストは不明です

接続先の名前を、IPアドレスに変換できませんでした。

考えられる原因

  • @ の後ろの打ち間違い
  • 名前で指定したが、Windows側でその名前を解決できない

直し方

  • ssh t3admin@192.168.100.xxx のようにIPアドレスで指定する
エラーPermission denied (publickey)Windows

表示の例Permission denied (publickey

サーバーが、鍵による本人確認を受け入れませんでした。

考えられる原因

  • 公開鍵が authorized_keys に正しく登録されていない
  • ~/.ssh や authorized_keys の権限が緩すぎる
  • 違う秘密鍵を指定している、ユーザー名が違う
  • 確認のために ssh-keygen で鍵を上書きしてしまった

確かめる

Windows 11 ターミナル(SSH接続)bash
ls -ld ~/.ssh
ls -l ~/.ssh/authorized_keys
cat ~/.ssh/authorized_keys
sudo journalctl -u ssh -n 30
Windows 11 ターミナルpowershell
ssh -v -i $env:USERPROFILE\.ssh\id_ed25519 t3admin@192.168.100.xxx

直し方

  • chmod 700 ~/.ssh と chmod 600 ~/.ssh/authorized_keys
  • パスワード認証を止めていて入れない場合は、Proxmoxのコンソールから直す
エラーPermission denied, please try againWindows

表示の例Permission denied, please try again

SSHのパスワードが違います。

考えられる原因

  • 打ち間違い(入力は見えない)
  • ユーザー名の誤り

直し方

  • ユーザー名が t3admin か確かめ、ゆっくり打ち直す
エラーREMOTE HOST IDENTIFICATION HAS CHANGEDWindows

表示の例REMOTE HOST IDENTIFICATION HAS CHANGED Host key verification failed Offending

以前に接続したときと、サーバーの鍵(指紋)が変わっています。

考えられる原因

  • VMを作り直した、Ubuntuを入れ直した
  • (心当たりがなければ)なりすましの可能性

直し方

  • 作り直したことが確かなら、Windowsで ssh-keygen -R 192.168.100.xxx を実行してから接続し直す
  • 心当たりがなければ教員に相談する
心配いらない表示Permanently added … to the list of known hostsWindows

表示の例Permanently added to the list of known hosts

接続先のサーバーの指紋を記録したという知らせです。エラーではありません。

直し方

  • そのまま続けてよい
心配いらない表示Are you sure you want to continue connecting?Windows

表示の例Are you sure you want to continue connecting Please type 'yes', 'no' or the fingerprint authenticity of host

初めて接続するサーバーの確認です。

考えられる原因

  • y だけを打つと、yes と打つよう求められる

直し方

  • yes と最後まで打って Enter
エラー秘密鍵の権限が緩すぎる(UNPROTECTED PRIVATE KEY FILE)Windows

表示の例UNPROTECTED PRIVATE KEY FILE Bad permissions private key files are NOT accessible by others

秘密鍵のファイルをほかのユーザーも読める状態なので、ssh が使うのを拒みました。

考えられる原因

  • 秘密鍵のファイルを別の場所からコピーした、共有フォルダに置いた

直し方

  • Windowsでは、次のようにして自分だけが読める権限にする(学校のPCで変更できない場合は教員に相談)
    icacls $env:USERPROFILE\.ssh\id_ed25519 /inheritance:r /grant:r "${env:USERNAME}:(R)"
エラー秘密鍵のファイルが見つからない(no such identity)Windows

表示の例no such identity Identity file … not accessible

-i で指定した秘密鍵のファイルがありません。

考えられる原因

  • パスの打ち間違い、鍵を別の名前で作った

確かめる

Windows 11 ターミナルpowershell
Get-ChildItem $env:USERPROFILE\.ssh

直し方

  • 実際のファイル名に合わせて指定し直す
エラーToo many authentication failuresWindows

表示の例Too many authentication failures

試した鍵や方法が多すぎて、サーバーに断られました。

考えられる原因

  • 手元にたくさんの鍵があり、順に試しているうちに上限に達した

直し方

  • ssh -i $env:USERPROFILE\.ssh\id_ed25519 -o IdentitiesOnly=yes t3admin@192.168.100.xxx のように、使う鍵を1つに指定する
注意SSHの接続が切れた(Connection closed・Broken pipe)Windows

表示の例client_loop: send disconnect closed by remote host Broken pipe Connection to … closed

SSHの接続が途中で切れました。

考えられる原因

  • VMを再起動・停止した
  • netplan apply でIPアドレスが変わった
  • 長い時間操作しなかった、ネットワークが一時的に切れた

直し方

  • もう一度 ssh で接続する。IPアドレスを変えた場合は新しいアドレスで
エラーkex_exchange_identification / Connection resetWindows

表示の例kex_exchange_identification Connection reset by

接続の最初のやり取りの途中で、相手に切られました。

考えられる原因

  • SSHのサーバーの再起動中
  • 接続先のポートがSSHではない

確かめる

Ubuntuサーバー ターミナルbash
systemctl status ssh

直し方

  • 少し待ってから接続し直す。ポート番号を確かめる
エラーsshd_config の書き間違い(Bad configuration option)Ubuntu

表示の例Bad configuration option unsupported option sshd_config line sshd_config: line

SSHのサーバーの設定ファイルに、知らない項目名や書き間違いがあります。

考えられる原因

  • 項目名の綴りの誤り(PasswordAuthentification など)
  • 値の誤り(yes/no 以外)

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo sshd -t

直し方

  • 表示された行番号の行を sudo nano /etc/ssh/sshd_config で直し、sudo sshd -t で何も表示されなくなってから再起動する
注意sshd -t の Missing privilege separation directoryUbuntu

表示の例Missing privilege separation directory /run/sshd

sshd が使う作業用のディレクトリがまだない、という表示です。設定の誤りではありません。

考えられる原因

  • Ubuntuでは、SSHのサーバーが接続を受けるまでこのディレクトリが作られないことがある

直し方

  • sudo mkdir -p /run/sshd を実行してから、もう一度 sudo sshd -t
注意パスワード認証を禁止したのに、パスワードで入れるUbuntu

表示の例PasswordAuthentication yes passwordauthentication yes

実際に効いている設定では、まだパスワード認証が有効になっています。

考えられる原因

  • /etc/ssh/sshd_config.d/ の追加の設定ファイルが優先されている
  • 同じ項目がファイルの前のほうにもあり、そちらが使われている
  • 設定のあとに再起動していない

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo sshd -T | grep -Ei 'passwordauthentication|kbdinteractiveauthentication'
ls /etc/ssh/sshd_config.d/

直し方

  • 2日目 手順7の説明を見て、どのファイルの値が効いているかを確かめる。追加の設定ファイルを書き換えるかは教員に相談する
エラーssh-keygen の Saving key … failedWindows

表示の例Saving key … failed

鍵を保存しようとした場所(フォルダ)がありません。

考えられる原因

  • .ssh フォルダがまだない

直し方

  • 先に New-Item -ItemType Directory -Force -Path $env:USERPROFILE\.ssh を実行してから、鍵を作り直す
注意ssh-keygen の Overwrite (y/n)?Windows

表示の例Overwrite (y/n) already exists.

同じ名前の鍵がすでにあります。

考えられる原因

  • 確認のために、鍵を作るコマンドをもう一度打った

直し方

  • 基本は n。y にすると鍵が作り直され、登録済みのサーバーに入れなくなる
心配いらない表示Enter passphrase for keyWindows

表示の例Enter passphrase for key Enter passphrase

秘密鍵にかけた合言葉(パスフレーズ)の入力を求めています。サーバーのパスワードとは別物です。

直し方

  • 鍵を作るときに決めたパスフレーズを入力する
エラーscp でファイルが見つからない(Windowsの ~)Windows

表示の例~/.ssh/id_ed25519.pub: No such file ~/… No such file or directory

送り元のファイルが見つかりませんでした。

考えられる原因

  • Windows PowerShell 5.1 では ~ が自分のフォルダに置き換わらない
  • 今いるフォルダに送りたいファイルがない

確かめる

Windows 11 ターミナルpowershell
Get-ChildItem $env:USERPROFILE\.ssh

直し方

  • scp $env:USERPROFILE\.ssh\id_ed25519.pub t3admin@192.168.100.xxx:~/id_ed25519.pub のように書く
エラーscp の送り先に書き込めない(dest open・Permission denied)Windows

表示の例dest open scp: … Permission denied

送り先の場所に書き込む権限がありません。

考えられる原因

  • 送り先に /etc/… などの管理者の場所を指定した

直し方

  • いったん自分のホーム(~/)に送り、サーバー側で sudo cp で移す

ファイアウォール・接続確認7件

エラーufw の You need to be rootUbuntu

表示の例You need to be root to run this script

ufw を管理者の権限なしで実行しました。

考えられる原因

  • sudo の付け忘れ

直し方

  • sudo ufw … と打ち直す
注意ufw の Status: inactiveUbuntu

表示の例Status: inactive

ファイアウォールが有効になっていません。

考えられる原因

  • sudo ufw enable を実行していない

直し方

  • sudo ufw allow 22/tcp のあとに sudo ufw enable
心配いらない表示ufw の Command may disrupt existing ssh connectionsUbuntu

表示の例Command may disrupt existing ssh connections Proceed with operation (y|n)

今のSSH接続が切れるかもしれないが続けるか、という確認です。

直し方

  • 22番を許可してあれば y
心配いらない表示ufw の Rule added/Skipping adding existing ruleUbuntu

表示の例Skipping adding existing rule Rules updated Rule added

規則が追加された(またはすでにあった)という表示です。

直し方

  • sudo ufw status numbered で一覧を確かめる
エラーufw の書き方の誤り(Bad port・Invalid syntax)Ubuntu

表示の例ERROR: Bad port ERROR: Invalid syntax ERROR: Wrong number of arguments Could not find a profile matching

ufw に渡した書き方が正しくありません。

考えられる原因

  • 22/tcp の書き間違い(22tcp、22 /tcp など)

直し方

  • sudo ufw allow 22/tcp のように、番号・スラッシュ・種類を続けて書く
注意Test-NetConnection の TCP connect … failedWindows

表示の例TCP connect to TcpTestSucceeded : False TcpTestSucceeded: False

指定したポートに接続できませんでした。

考えられる原因

  • 2日目の80番・443番なら、ufwで閉じているので期待どおりの結果
  • 22番でこうなる場合は、VMが止まっている、IPアドレスの誤り、ufwで許可していない
  • 8080番・80番(3日目以降)でこうなる場合は、コンテナが動いていない

確かめる

Ubuntuサーバー ターミナルbash
sudo ufw status numbered
sudo ss -tuln

直し方

  • どのポートで失敗したかを確かめ、期待どおりかどうかを判断する
心配いらない表示Test-NetConnection の Ping to … failedWindows

表示の例Ping to … failed PingSucceeded : False

ポートの確認の前に行う ping が届かなかったという表示です。

考えられる原因

  • 相手が止まっている、または ping を受け付けない設定

直し方

  • TcpTestSucceeded の行が本題。そちらが True ならポートには届いている

Windows・PowerShell7件

エラーPowerShell の curl でパラメーターのエラーWindows

表示の例matches parameter name に一致するパラメーターが見つかりません ParameterBindingException Invoke-WebRequest

Windows PowerShell 5.1 では、curl が別のコマンド(Invoke-WebRequest)の別名なので、-d などを解釈できません。

考えられる原因

  • 6日目の指導書の PowerShell の例をそのまま打った

確かめる

Windows 11 ターミナルpowershell
$PSVersionTable.PSVersion

直し方

  • 6日目 手順2の Invoke-RestMethod を使う書き方にする
エラーOllamaが invalid character … と返す(JSONが壊れている)Windows

表示の例looking for beginning of object key string invalid character cannot unmarshal unexpected end of JSON input

送ったデータが、正しいJSONになっていません。

考えられる原因

  • PowerShellから curl.exe で送ったとき、JSONの中の " が消えた
  • JSONの書き間違い(カンマ、引用符、括弧)

直し方

  • 6日目 手順2の Invoke-RestMethod を使う書き方にする(JSONはPowerShellが組み立てる)
  • Ubuntuの中から試す場合は、Ubuntuの curl を使う
エラーInvoke-RestMethod で接続できないWindows

表示の例Unable to connect to the remote server リモート サーバーに接続できません actively refused 拒否されたため、接続できませんでした No connection could be made

指定したサーバーのポートに接続できませんでした。

考えられる原因

  • Ollamaが 127.0.0.1 でしか待ち受けていない(初期設定のまま)
  • ufwで11434番を許可していない
  • IPアドレスやポート番号の誤り、Ollamaが止まっている

確かめる

Windows 11 ターミナル(SSH接続)bash
ss -tln | grep 11434
sudo ufw status
systemctl status ollama
Windows 11 ターミナルpowershell
Test-NetConnection 192.168.100.xxx -Port 11434

直し方

  • 6日目 手順2の OLLAMA_HOST の設定と sudo ufw allow 11434/tcp(授業の指示を確認してから)
エラーInvoke-RestMethod がタイムアウトしたWindows

表示の例The operation has timed out 操作はタイムアウトしました HttpClient.Timeout

答えが返ってくるまでに時間がかかりすぎました。

考えられる原因

  • CPUだけで動くAIの答えが遅い(特に初回のモデルの読み込み)
  • 途中で通信が遮られている

直し方

  • 短い質問で試す。-TimeoutSec 300 を付けて待ち時間を延ばす
注意日本語が文字化けする(縺・繧・� など)Windows

表示の例縺 繧 �

日本語の文字の符号化方式(UTF-8 と Shift_JIS)が食い違っています。

考えられる原因

  • PowerShell 7 の curl で、日本語を含むJSONを送った
  • コンソールの表示の設定がUTF-8になっていない

直し方

  • 送るときは6日目 手順2の Invoke-RestMethod と UTF-8 のバイト列に変換する書き方を使う
  • 表示だけが化ける場合は [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 を実行してから試す
エラースクリプトの実行が無効になっているWindows

表示の例running scripts is disabled スクリプトの実行が無効

Windowsの設定で、PowerShellのスクリプト(.ps1)の実行が止められています。

考えられる原因

  • 自分で作った .ps1 ファイルを実行しようとした

直し方

  • この実験では .ps1 ファイルを使わず、コマンドを直接打つ。設定を変える必要がある場合は教員に相談する
エラーWindowsで保存・変更できない(アクセスが拒否されました)Windows

表示の例Access to the path アクセスが拒否されました Access is denied

管理者の権限が必要な場所を、管理者でない状態で書き換えようとしました。

考えられる原因

  • Windowsの hosts ファイルを、ふつうに開いたメモ帳で保存しようとした

直し方

  • メモ帳を「管理者として実行」で開いてから、hosts ファイルを開く(学校のPCで許可されていない場合は教員に相談)

Docker・Compose・YAML20件

エラーpermission denied … Docker daemon socketUbuntu

表示の例permission denied while trying to connect to the Docker daemon socket docker.sock: connect: permission denied

Dockerの係に連絡する権限がありません。

考えられる原因

  • docker の前に sudo を付け忘れた

直し方

  • sudo docker … と打ち直す
エラーCannot connect to the Docker daemonUbuntu

表示の例Cannot connect to the Docker daemon Is the docker daemon running?

Dockerの係(サービス)が動いていません。

考えられる原因

  • Dockerのサービスを有効にしていない、止まっている

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo systemctl status docker

直し方

  • sudo systemctl enable --now docker
エラーdocker compose が使えない('compose' is not a docker command)Ubuntu

表示の例'compose' is not a docker command unknown shorthand flag: 'd' in -d

Docker Compose の追加部品が入っていません。

考えられる原因

  • docker-compose-v2 をインストールしていない

直し方

  • sudo apt install -y docker-compose-v2
エラーno configuration file provided: not foundUbuntu

表示の例no configuration file provided

今いるディレクトリに compose.yaml がありません。

考えられる原因

  • compose.yaml のないディレクトリで実行した
  • ファイル名の打ち間違い(compose.yml、Compose.yaml など)

確かめる

Windows 11 ターミナル(SSH接続)bash
pwd
ls

直し方

  • その日のディレクトリ(/opt/compose-demo、/opt/nginx、/opt/open-webui)に cd してから実行する
エラーYAMLの書き方の誤り(yaml: line …)Ubuntu(Netplan・Compose)

表示の例mapping values are not allowed did not find expected key found character that cannot start any token could not find expected ':' found a tab character Invalid YAML yaml: line expected <block end> did not find expected '-' indicator

YAMLのファイル(compose.yaml や Netplan の設定)の書き方に誤りがあります。

考えられる原因

  • 字下げの深さがずれている
  • タブ文字で字下げした(スペースしか使えない)
  • 名前: 値 のコロンの後ろのスペースがない
  • 一覧の - (ハイフンとスペース)を忘れた、引用符の閉じ忘れ

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker compose config

直し方

  • 表示された行番号の前後を、このガイドの例と字下げの深さまで見比べる
  • nanoでは Alt+Shift+3 で行番号を表示できる
  • 迷ったら、中身をいったん全部消して貼り付け直す
エラーcompose.yaml の項目の誤り(additional properties … not allowed)Ubuntu

表示の例additional properties Additional property must be a list must be a mapping must be a string

compose.yaml に、知らない項目名や、形の違う値が書かれています。

考えられる原因

  • 項目名の打ち間違い(port、volume、network など。正しくは複数形)
  • 字下げのずれで、項目が別の場所に入っている

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker compose config

直し方

  • エラーに出た項目名を、このガイドの例と見比べて直す
エラーポートが使用中(port is already allocated・address already in use)Ubuntu

表示の例port is already allocated address already in use

そのポートを、ほかのコンテナやプログラムがすでに使っています。

考えられる原因

  • 前の日の構成を止め忘れている
  • 同じ構成を別のディレクトリにも作った

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker ps
sudo ss -tlnp

直し方

  • 不要な構成のディレクトリで sudo docker compose down
エラーコンテナの名前がぶつかる(is already in use by container)Ubuntu

表示の例is already in use by container Conflict. The container name

同じ名前(container_name)のコンテナが、すでにあります。

考えられる原因

  • 別のディレクトリの compose.yaml で同じ名前を使った
  • 手で docker run したものが残っている

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker ps -a

直し方

  • 古いほうの構成のディレクトリで sudo docker compose down。手で作ったものなら、名前を確かめて sudo docker rm -f 名前
エラーDocker Hub の取得回数の制限(toomanyrequests)Ubuntu

表示の例toomanyrequests pull rate limit

Docker Hub から、ログインせずに取得できる回数の上限に達しました。

考えられる原因

  • 教室全員が同じ出口のIPアドレスを共有していて、まとめて取得した

直し方

  • 時間をおいてやり直す。続く場合は教員に相談する
エラーイメージが見つからない(pull access denied・manifest unknown)Ubuntu

表示の例pull access denied repository does not exist manifest unknown manifest for … not found

指定した名前やタグのイメージが、倉庫に見つかりません。

考えられる原因

  • イメージ名やタグの打ち間違い(nginx:stable、traefik/whoami、ghcr.io/open-webui/open-webui:main)

直し方

  • compose.yaml の image: の行を、このガイドの例と1文字ずつ見比べる
エラーイメージのダウンロードで通信エラーUbuntu

表示の例registry-1.docker.io i/o timeout TLS handshake timeout context deadline exceeded

イメージの倉庫と通信できませんでした。

考えられる原因

  • サーバーから外に出られない(ネットワーク・DNSの設定)
  • 一時的に混んでいる

確かめる

Windows 11 ターミナル(SSH接続)bash
ping -c 3 www.google.co.jp

直し方

  • ネットワークを確かめてから、時間をおいてやり直す
エラーno space left on device(ディスクがいっぱい)Ubuntu

表示の例no space left on device

ディスクの空きがなくなりました。

考えられる原因

  • 大きなイメージ(Open WebUI など)やモデルを入れた

確かめる

Windows 11 ターミナル(SSH接続)bash
df -h
sudo docker system df

直し方

  • 使わなくなったイメージを消す(sudo docker image prune)。消してよいか迷ったら教員に相談する
エラーnetwork app-net … could not be foundUbuntu

表示の例declared as external, but could not be found network app-net not found

compose.yaml で使うと書いた Docker ネットワークが、まだ作られていません。

考えられる原因

  • sudo docker network create app-net を実行していない

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker network ls

直し方

  • sudo docker network create app-net を実行してから、もう一度 up -d
エラーno such service(サービスが見つからない)Ubuntu

表示の例no such service

今いるディレクトリの compose.yaml に、その名前のサービスがありません。

考えられる原因

  • 違うディレクトリで実行した(例:goaccess は /opt/nginx)
  • サービス名の打ち間違い

確かめる

Windows 11 ターミナル(SSH接続)bash
pwd
sudo docker compose config --services

直し方

  • 正しいディレクトリに cd してから実行する
エラーservice … is not running(exec できない)Ubuntu

表示の例service "… is not running

docker compose exec で中に入ろうとしたコンテナが、動いていません。

考えられる原因

  • コンテナが止まっている、起動に失敗している

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker compose ps
sudo docker compose logs --tail 30

直し方

  • ログのエラーを直してから sudo docker compose up -d
エラーコンテナが Restarting を繰り返すUbuntu

表示の例Restarting (

コンテナが起動してはすぐ終了し、再起動を繰り返しています。

考えられる原因

  • 中のプログラムの設定の誤り(Nginxの設定ファイルなど)
  • メモリ不足

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker compose logs --tail 30

直し方

  • ログの最後のエラーの文を、このページで調べ直す
心配いらない表示コンテナの STATUS が ExitedUbuntu

表示の例Exited ( exited with code

コンテナが終了しています。Exited (0) は正常な終了(hello-world はこれでよい)、0以外は何かのエラーで止まったことを表します。

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker compose logs --tail 30

直し方

  • 0以外なら、ログのエラーを読んで原因を直す
心配いらない表示health: starting/unhealthyUbuntu

表示の例health: starting unhealthy

コンテナが自分で行う健康診断の結果です。starting は準備中、unhealthy は応答がおかしい状態です。

考えられる原因

  • Open WebUIは起動に時間がかかる

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker compose logs --tail 30

直し方

  • starting ならしばらく待つ。unhealthy が続くならログを見る
心配いらない表示the attribute `version` is obsoleteUbuntu

表示の例version` is obsolete

compose.yaml の先頭の version: の行はもう使われない、という案内です。動作には影響しません。

直し方

  • version: の行を消してもよい
心配いらない表示Unable to find image … locally(初回のダウンロード)Ubuntu

表示の例Unable to find image Pulling from Pull complete Downloaded newer image

手元にイメージがないので、倉庫からダウンロードしているという表示です。

直し方

  • そのまま待つ

Nginx・ブラウザ18件

エラーnginx: host not found in upstreamUbuntu

表示の例host not found in upstream

Nginxの設定に書いた取り次ぎ先(open-webui、chat-backend など)の名前が見つかりません。

考えられる原因

  • 取り次ぎ先のコンテナが動いていない
  • 取り次ぎ先か Nginx のどちらかが app-net に参加していない
  • 名前の打ち間違い

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker ps
sudo docker network inspect app-net

直し方

  • 取り次ぎ先を先に起動し、両方の compose.yaml の networks: を見直してから nginx -t
エラーNginxの設定の書き間違い([emerg])Ubuntu

表示の例[emerg] is not terminated by unexpected end of file unknown directive directive is not allowed here test failed

Nginxの設定ファイルに書き間違いがあります。

考えられる原因

  • 行末の ; の付け忘れ
  • { と } の数が合っていない
  • 命令の綴りの誤り、置く場所の誤り(location は server { } の中)

確かめる

Windows 11 ターミナル(SSH接続)bash
cd /opt/nginx
sudo docker compose exec nginx nginx -t

直し方

  • 表示されたファイル名と行番号の行を直し、nginx -t が成功してから nginx -s reload
心配いらない表示nginx: syntax is ok/test is successfulUbuntu

表示の例syntax is ok test is successful

設定の書式に問題がないという表示です。

直し方

  • 続けて nginx -s reload で反映する
エラー403 Forbiddenブラウザ/curl

表示の例403 Forbidden directory index of is forbidden

Webサーバーが、そのページを見せることを拒みました。

考えられる原因

  • /opt/nginx/html/index.html がまだない(4日目の手順2では正常)
  • ファイル名が違う(index.htm、Index.html)
  • ファイルの権限で読めない

確かめる

Windows 11 ターミナル(SSH接続)bash
ls -l /opt/nginx/html

直し方

  • index.html を作る。権限が -rw-r--r-- でなければ sudo chmod 644 /opt/nginx/html/index.html
エラー404 Not Foundブラウザ/curl

表示の例404 Not Found failed (2: No such file or directory)

そのURLに対応するファイルが見つかりません。

考えられる原因

  • URLのファイル名の打ち間違い(大文字・小文字も区別される)
  • GoAccessのレポートをまだ作っていない
  • 6日目以降、/ をOpen WebUIへ取り次いでいるので、4日目のページが見えない

確かめる

Windows 11 ターミナル(SSH接続)bash
ls /opt/nginx/html

直し方

  • 実際のファイル名に合わせてURLを直す
心配いらない表示favicon.ico が見つからない(ログの404)Ubuntu

表示の例favicon.ico

ブラウザが自動でサイトのアイコン(favicon.ico)を探しに来た記録です。問題ありません。

直し方

  • 気にしなくてよい。GoAccessのレポートの404の欄にも現れる
エラー502 Bad Gatewayブラウザ

表示の例502 Bad Gateway while connecting to upstream connect() failed (111

Nginx(受付)は動いていますが、取り次ぎ先が応えません。

考えられる原因

  • 取り次ぎ先(Open WebUI、自作のチャット)が起動中、または止まっている

確かめる

Windows 11 ターミナル(SSH接続)bash
cd /opt/open-webui
sudo docker compose ps
sudo docker compose logs --tail 30

直し方

  • 起動の途中なら数分待つ。止まっていればログを読んでから sudo docker compose up -d
エラー504 Gateway Time-outブラウザ

表示の例504 Gateway Time-out 504 Gateway Timeout upstream timed out

取り次ぎ先の返事が遅く、Nginxが待ちきれずに打ち切りました。

考えられる原因

  • CPUだけで動くAIの答えが遅い

直し方

  • 取り次ぎの設定に proxy_read_timeout 300s; を入れて反映する。短い質問で試す
エラー500 Internal Server Errorブラウザ

表示の例500 Internal Server Error Internal Server Error

取り次ぎ先のプログラム(自作のバックエンドなど)の中でエラーが起きました。

考えられる原因

  • バックエンドのプログラムの誤り

確かめる

Windows 11 ターミナル(SSH接続)bash
cd /opt/chat-app
sudo docker compose logs --tail 30

直し方

  • ログの Traceback の最後の行を読み、プログラムを直す
エラー405 Not Allowed(送信を受け付けない場所へ送った)ブラウザ(AIチャット)

表示の例405 Not Allowed 405 Method Not Allowed Method Not Allowed

送信(POST)を受け付けない場所へ、質問を送りました。Nginxがファイルを配るだけの場所では、POSTは受け付けられません。

考えられる原因

  • AIチャットのページを /opt/nginx/html に置いて開いたため、送り先の api/chat がバックエンドではなく、ファイルの置き場所になっている
  • 送り先のURLの誤り(バックエンドの窓口と違うパスへ送っている)
  • バックエンドの窓口が POST を受け付ける書き方になっていない(Flaskなら @app.post("/api/chat"))

確かめる

Windows 11 ターミナル(SSH接続)bash
ls -l /opt/chat-app
sudo docker compose -f /opt/chat-app/compose.yaml ps

直し方

  • ページは /opt/chat-app/index.html に置き、http://[自分のIP]/chat/ から開く
  • 「サイトを制作」のAIチャットの部品で、送り先を、バックエンドの窓口のURLに合わせる
エラー返ってきたJSONに答えが見つかりません(AIチャットの部品)ブラウザ(AIチャット)

表示の例返ってきたJSONに答えが見つかりません

バックエンドから返事は届きましたが、ページが答えを読む場所(answer、response、message.content のどれか)に、答えが入っていません。

考えられる原因

  • 「サイトを制作」のAIチャットの部品で選んだ「送るJSONの形」と、バックエンドが返すJSONの形が合っていない
  • バックエンドが、答えを別の名前(reply など)で返している
  • Ollamaへ "stream": true のまま送っていて、答えが細切れのJSONで返ってきている

確かめる

Windows 11 ターミナル(SSH接続)bash
curl -s -X POST http://localhost/chat/api/chat -H 'Content-Type: application/json' -d '{"prompt": "test"}'

直し方

  • バックエンドが返すJSONを確かめ、それに合う「送るJSONの形」を選ぶ(たたき台なら「たたき台の形」)
  • 自分でバックエンドを作った場合は、答えを {"answer": "…"} の形で返すようにする
エラーブラウザの「接続が拒否されました」(ERR_CONNECTION_REFUSED)ブラウザ

表示の例ERR_CONNECTION_REFUSED 接続が拒否されました 接続を拒否しました

そのポートで何も待ち受けていません。

考えられる原因

  • コンテナが動いていない(up -d していない、down した)
  • ポート番号の誤り(3日目は 8080、4日目以降は 80)

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker ps

直し方

  • その日のディレクトリで sudo docker compose up -d
エラーブラウザの「応答時間が長すぎます」(ERR_CONNECTION_TIMED_OUT)ブラウザ

表示の例ERR_CONNECTION_TIMED_OUT 応答時間が長すぎます

サーバーから返事がありません。

考えられる原因

  • IPアドレスの誤り、VMが止まっている
  • ファイアウォールで止められている(Dockerを使わないサービスの場合)

確かめる

Windows 11 ターミナルpowershell
Test-NetConnection 192.168.100.xxx -Port 80

直し方

  • URLのIPアドレスとポートを確かめる
エラーブラウザの「IP アドレスが見つかりませんでした」(ERR_NAME_NOT_RESOLVED)ブラウザ

表示の例ERR_NAME_NOT_RESOLVED IP アドレスが見つかりませんでした DNS_PROBE_FINISHED_NXDOMAIN

Windowsが、URLの名前(www.t3.metro-cit.internal など)をIPアドレスに変換できませんでした。

考えられる原因

  • Windowsのhostsファイルや、DNSの準備をしていない

確かめる

Windows 11 ターミナルpowershell
nslookup www.t3.metro-cit.internal

直し方

  • 確認だけならIPアドレスで開く(http://192.168.100.xxx/)。名前で開くには、授業の指示に従って hosts か DNS を設定する
エラーブラウザの「データが送信されませんでした」(ERR_EMPTY_RESPONSE)ブラウザ

表示の例ERR_EMPTY_RESPONSE データが送信されませんでした

接続はできましたが、中身のある返事が返ってきませんでした。

考えられる原因

  • 6日目 手順4で空の conf.d を重ねたので、Nginxに配信の設定が1つもない(手順7で設定を書けば直る)
  • Nginxの中のプログラムがうまく動いていない

確かめる

Windows 11 ターミナル(SSH接続)bash
ls /opt/nginx/conf.d
cd /opt/nginx
sudo docker compose logs --tail 20

直し方

  • 6日目 手順7の設定ファイルを作り、nginx -t と nginx -s reload
エラーブラウザの「接続がリセットされました」(ERR_CONNECTION_RESET)ブラウザ

表示の例ERR_CONNECTION_RESET 接続がリセットされました

通信の途中で、相手に接続を切られました。

考えられる原因

  • コンテナの中のプログラムが待ち受けていない(起動中・設定の誤り)

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker ps
sudo docker compose logs --tail 30

直し方

  • 少し待ってから再読み込みする。続く場合はログを見る
エラーブラウザの「安全な接続ができません」(ERR_SSL_PROTOCOL_ERROR)ブラウザ

表示の例ERR_SSL_PROTOCOL_ERROR 安全な接続ができません ERR_SSL

暗号化された接続(https)を試みましたが、このサーバーは http しか受け付けていません。

考えられる原因

  • URLを https:// で始めた、またはブラウザが自動で https に切り替えた

直し方

  • URLを http://192.168.100.xxx/ のように、http:// から明示して打つ
注意「Welcome to nginx!」と表示されるブラウザ

表示の例Welcome to nginx!

Nginxのイメージに最初から入っている見本のページが表示されています。

考えられる原因

  • compose.yaml の volumes: が書かれていない、または字下げの誤りで効いていない

確かめる

Windows 11 ターミナル(SSH接続)bash
cd /opt/nginx
sudo docker compose config

直し方

  • config の結果に /opt/nginx/html が出てくるか確かめ、compose.yaml を直してから up -d

curl6件

エラーcurl: (7) Couldn't connect to serverUbuntu

表示の例curl: (7) Couldn't connect to server Failed to connect to

指定したポートに接続できませんでした(何も待ち受けていない)。

考えられる原因

  • コンテナやOllamaが動いていない
  • ポート番号の誤り(whoami は 8080、Nginx は 80、Ollama は 11434)

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker ps
sudo ss -tlnp

直し方

  • 動かすべきものを起動し、ポート番号を確かめる
エラーcurl: (6) Could not resolve hostUbuntu

表示の例curl: (6) Could not resolve host

URLの名前をIPアドレスに変換できませんでした。

考えられる原因

  • URLの打ち間違い
  • localhost の綴り違い

直し方

  • URLを見直す。サーバーの中からなら http://localhost:ポート
エラーcurl: (3) URL の書き方の誤りUbuntu

表示の例curl: (3) URL rejected bad range in URL URL using bad/illegal format

URLの書き方が正しくありません。

考えられる原因

  • 指導書の [自分のIP] をそのまま打った([ ] は特別な意味になる)

直し方

  • [自分のIP] を 192.168.100.xxx に置き換えて打つ
エラーcurl: (52) Empty reply from serverUbuntu

表示の例curl: (52) Empty reply from server

接続はできたものの、返事が空でした。

考えられる原因

  • Nginxに配信の設定がない(6日目 手順4〜7の間)
  • コンテナの中のプログラムが準備中

確かめる

Windows 11 ターミナル(SSH接続)bash
ls /opt/nginx/conf.d

直し方

エラーcurl: (56) Recv failure: Connection reset by peerUbuntu

表示の例curl: (56) Recv failure

受け取る途中で、相手に接続を切られました。

考えられる原因

  • コンテナの起動直後で、中のプログラムがまだ準備できていない

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker compose logs --tail 20

直し方

  • 少し待ってからやり直す
エラーcurl: (28) Operation timed outUbuntu

表示の例curl: (28) Operation timed out Connection timed out after

時間内に返事がありませんでした。

考えられる原因

  • AIの答えが遅い
  • IPアドレスの誤り、途中で遮られている

直し方

  • AIなら短い質問で試す。-m 300 で待ち時間を延ばせる

GoAccess3件

エラーGoAccessの Token … doesn't match specifierUbuntu

表示の例doesn't match specifier Token '

ログの並び方が、指定した形式(COMBINED)と合いません。

考えられる原因

  • --log-format=COMBINED の書き間違い
  • access.log 以外のファイル(error.log など)を読ませた

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo tail -n 3 /opt/nginx/log/access.log

直し方

  • compose.yaml の command: を4日目の例と見比べる
エラーGoAccessがログを開けないUbuntu

表示の例Unable to open the specified log file /srv/log/access.log

GoAccessが読むはずのアクセスログのファイルがありません。

考えられる原因

  • まだ一度もアクセスがない(ファイルができていない)
  • compose.yaml の volumes: の誤り

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo ls -l /opt/nginx/log/

直し方

  • ブラウザでページを何度か開いてから、もう一度 sudo docker compose run --rm goaccess
エラーGoAccessの Nothing valid to processUbuntu

表示の例Nothing valid to process

ログの中に、集計できる行が1つもありませんでした。

考えられる原因

  • アクセスログが空
  • ログの形式の指定が合っていない

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo wc -l /opt/nginx/log/access.log

直し方

  • アクセスを増やしてからやり直す

DNS(BIND9・nslookup・dig)8件

エラーnamed-checkconf のエラー(missing ';' など)Ubuntu

表示の例missing ';' before unknown option expected quoted string named.conf.local:

BIND9の設定ファイル(named.conf.local など)に書き間違いがあります。

考えられる原因

  • 行末の ; の付け忘れ、最後の }; の忘れ
  • " の閉じ忘れ、項目名の綴りの誤り

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo named-checkconf

直し方

  • 表示されたファイル名と行番号の行を直し、何も表示されなくなるまで named-checkconf を繰り返す
エラーnamed-checkzone のエラー(not loaded due to errors など)Ubuntu

表示の例not loaded due to errors has no address records has no NS records unknown RR type ignoring out-of-zone data bad dotted quad bad owner name

ゾーンファイルの中身に誤りがあります。

考えられる原因

  • 名前の最後の . の付け忘れ・付けすぎ
  • IPアドレスの書き間違い(bad dotted quad)
  • SOAの括弧の閉じ忘れ、NS に対応する A の行がない

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo named-checkzone t3.metro-cit.internal /etc/bind/db.t3.metro-cit.internal

直し方

  • 表示された行を、付録2の例と見比べて直す
エラーゾーンファイルが見つからない(file not found)Ubuntu

表示の例file not found loading from master file

設定に書いたゾーンファイルが、その場所にありません。

考えられる原因

  • named.conf.local の file の行と、実際のファイル名が違う

確かめる

Windows 11 ターミナル(SSH接続)bash
ls -l /etc/bind/

直し方

  • ファイル名をそろえる
心配いらない表示named-checkzone の loaded serial … OKUbuntu

表示の例loaded serial

ゾーンファイルの検査に通ったという表示です。

直し方

  • 続けて sudo systemctl restart bind9
エラーDNS request timed out/no servers could be reachedWindows/Ubuntu

表示の例DNS request timed out timeout was 2 seconds no servers could be reached

DNSサーバーから返事がありませんでした。

考えられる原因

  • ufwで 53/udp を許可していない
  • BIND9が動いていない
  • 問い合わせ先のIPアドレスの誤り

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo ufw status
systemctl status bind9

直し方

  • sudo ufw allow 53/udp、BIND9を起動する
エラー名前が存在しない(NXDOMAIN・Non-existent domain)Windows/Ubuntu

表示の例Non-existent domain NXDOMAIN can't find

DNSサーバーは返事をしましたが、「その名前はない」という答えでした。

考えられる原因

  • 名前の打ち間違い
  • ゾーンファイルに www の行がない、ゾーン名の誤り
  • ゾーンファイルを直したあと、再起動していない

確かめる

Windows 11 ターミナル(SSH接続)bash
dig @localhost www.t3.metro-cit.internal

直し方

  • ゾーンファイルを見直し、シリアル番号を増やして sudo systemctl restart bind9
エラーSERVFAIL/REFUSED/Query refusedWindows/Ubuntu

表示の例SERVFAIL status: REFUSED Query refused Server failed

DNSサーバーが答えを返せない(SERVFAIL)、または問い合わせを断った(REFUSED)。

考えられる原因

  • ゾーンの読み込みに失敗している(SERVFAIL)
  • 問い合わせを受け付ける相手を制限する設定がある(REFUSED)

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo named-checkconf
sudo journalctl -u named -n 30

直し方

  • ログのエラーを読んで設定を直す
心配いらない表示nslookup の「サーバー: UnKnown」Windows

表示の例サーバー: UnKnown Server: UnKnown

問い合わせ先のDNSサーバー自身の名前を、逆引きできなかったという意味です。

直し方

  • 下の「名前」と「Address」に答えが出ていれば問題ない

Ollama・Open WebUI10件

エラーcould not connect to ollama app, is it running?Ubuntu

表示の例could not connect to ollama app is it running?

Ollamaのサーバー(サービス)が動いていません。

考えられる原因

  • インストールが途中で終わった
  • OLLAMA_HOST の設定を書き間違えて、起動に失敗している

確かめる

Windows 11 ターミナル(SSH接続)bash
systemctl status ollama
sudo journalctl -u ollama -n 30

直し方

  • 設定を直してから sudo systemctl daemon-reload と sudo systemctl restart ollama
エラーモデルが見つからない(pull model manifest・not found)Ubuntu/Windows

表示の例pull model manifest file does not exist not found, try pulling it first

指定したモデルが見つかりません。

考えられる原因

  • モデル名の打ち間違い(qwen2.5:0.5b。大文字の B ではない)
  • APIで指定したモデルを、まだダウンロードしていない

確かめる

Windows 11 ターミナル(SSH接続)bash
ollama list

直し方

  • ollama list に出る名前と同じ綴りで指定する。なければ ollama run qwen2.5:0.5b で取得する
エラーrequires more system memory(メモリが足りない)Ubuntu

表示の例requires more system memory than is available

そのモデルを動かすには、仮想マシンのメモリが足りません。

考えられる原因

  • 大きなモデル(llama3.2:1b など)を試した
  • Open WebUI などがメモリを使っている

確かめる

Windows 11 ターミナル(SSH接続)bash
free -h

直し方

  • 小さなモデル(qwen2.5:0.5b)を使う。使っていないコンテナを止める
心配いらない表示No NVIDIA/AMD GPU detected(CPUだけで動く)Ubuntu

表示の例No NVIDIA/AMD GPU detected CPU-only mode

GPUがないので、CPUだけで動くという知らせです。正常です。

直し方

  • そのまま進めてよい
エラーOllamaの 11434 が使用中(bind: address already in use)Ubuntu

表示の例listen tcp 127.0.0.1:11434 11434: bind

すでにOllamaのサービスが動いているのに、もう1つ起動しようとしました。

考えられる原因

  • ollama serve を手で実行した

直し方

  • ollama serve は使わない。サービスとして動いているものを使う(systemctl status ollama)
心配いらない表示Ollama is runningUbuntu

表示の例Ollama is running

Ollamaが動いていて、APIが応えているという表示です。

直し方

  • 続けて /api/generate に質問を送る
エラーOpen WebUIからOllamaにつながらない(Cannot connect to host)Ubuntu

表示の例Cannot connect to host Connect call failed host.docker.internal

Open WebUIのコンテナから、ホストで動くOllamaに届いていません。

考えられる原因

  • Ollamaが 127.0.0.1 でしか待ち受けていない
  • ufwで 11434 番を許可していない(コンテナから見ても、Ollamaは「外」にいる)
  • compose.yaml の extra_hosts や OLLAMA_BASE_URL の誤り

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker exec open-webui curl -s http://host.docker.internal:11434
ss -tln | grep 11434

直し方

  • 6日目 手順2の OLLAMA_HOST と ufw の設定を行い、cd /opt/open-webui で移動して sudo docker compose restart
心配いらない表示Open WebUI の起動時の注意書き(CORS_ALLOW_ORIGIN など)Ubuntu

表示の例CORS_ALLOW_ORIGIN WEBUI_SECRET_KEY USER_AGENT environment variable not set

Open WebUIが起動するときに出す、設定についての注意書きです。この実験の範囲では問題になりません。

確かめる

Windows 11 ターミナル(SSH接続)bash
cd /opt/open-webui
sudo docker compose ps

直し方

  • ps で Up になっていて、画面が開ければそのままでよい
エラーOpen WebUI の Backend Requiredブラウザ

表示の例Backend Required

Open WebUIの画面が、裏側のプログラムと通信できていません。

考えられる原因

  • Open WebUIのコンテナがまだ準備中
  • Nginxの取り次ぎの設定の誤り(WebSocketの2行の書き忘れなど)

確かめる

Windows 11 ターミナル(SSH接続)bash
cd /opt/open-webui
sudo docker compose logs --tail 30

直し方

  • しばらく待ってから再読み込みする。続く場合は6日目 手順7の設定を見比べる
エラーOpen WebUI の Network Problem/Server Connection Errorブラウザ

表示の例Network Problem Server Connection Error

Open WebUIがAI(Ollama)とやり取りできませんでした。

考えられる原因

  • Ollamaに届いていない、答えが遅すぎる

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker exec open-webui curl -s http://host.docker.internal:11434

直し方

Python・自作チャット10件

エラーModuleNotFoundError: No module named …Ubuntu

表示の例ModuleNotFoundError No module named

Pythonのプログラムが使う部品(ライブラリ)が入っていません。

考えられる原因

  • Flask をインストールしていない
  • コンテナの command: で pip install flask が失敗した

確かめる

Windows 11 ターミナル(SSH接続)bash
cd /opt/chat-app
sudo docker compose logs --tail 30

直し方

  • コンテナで動かす場合は、ログで pip の失敗の理由(通信など)を確かめる
エラーpip の externally-managed-environmentUbuntu

表示の例externally-managed-environment externally managed

Ubuntu 24.04 では、システム全体に pip でライブラリを入れることが止められています。

考えられる原因

  • Ubuntuに直接 pip install flask しようとした

直し方

  • Ubuntuに直接入れるなら sudo apt install -y python3-flask
  • このガイドのたたき台のように、コンテナの中で動かす
エラーPort 5000 is in useUbuntu

表示の例Port 5000 is in use is in use by another program

5000番をほかのプログラムがすでに使っています。

考えられる原因

  • 同じプログラムを2つ起動した

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo ss -tlnp | grep 5000

直し方

  • 古いほうを止めてから起動する
エラーPythonの SyntaxError/IndentationErrorUbuntu

表示の例IndentationError unexpected indent unindent does not match SyntaxError: invalid syntax

Pythonのプログラムの書き方に誤りがあります。Pythonは字下げに意味がある言語です。

考えられる原因

  • 字下げのずれ(スペースとタブの混在)
  • 括弧や引用符の閉じ忘れ

確かめる

Windows 11 ターミナル(SSH接続)bash
cd /opt/chat-app
sudo docker compose logs --tail 30

直し方

  • 表示された行番号の周りを、たたき台と見比べる
エラーTraceback (most recent call last)Ubuntu

表示の例Traceback (most recent call last)

Pythonのプログラムの実行中にエラーが起きました。

考えられる原因

  • いちばん下の行に、エラーの種類と内容が書かれている

直し方

  • いちばん下の行の文を、このページで調べ直す
エラー自作チャットの「Ollamaに接続できません」ブラウザ

表示の例Ollamaに接続できません urlopen error Errno 111 Name or service not known>

バックエンドから、Ollamaに届いていません。

考えられる原因

  • Ollamaが 127.0.0.1 でしか待ち受けていない、ufwで止められている
  • compose.yaml の extra_hosts や OLLAMA_URL の誤り

確かめる

Windows 11 ターミナル(SSH接続)bash
sudo docker exec chat-backend python -c "import urllib.request;print(urllib.request.urlopen('http://host.docker.internal:11434').read())"

直し方

  • 6日目 手順2の OLLAMA_HOST と ufw の設定を確かめる
心配いらない表示WARNING: This is a development serverUbuntu

表示の例This is a development server Running on http

Flaskの開発用のサーバーで動いているという案内です。実験では問題ありません。

直し方

  • そのまま使ってよい
心配いらない表示Running pip as the 'root' userUbuntu

表示の例Running pip as the 'root' user

コンテナの中で管理者として pip を使ったという注意です。コンテナの中なので問題ありません。

直し方

  • 気にしなくてよい
エラーUnexpected token '<' … is not valid JSONブラウザ

表示の例is not valid JSON Unexpected token '<' Unexpected token < JSON.parse

JSONを受け取るはずのところに、HTMLのページ(エラーのページなど)が返ってきました。

考えられる原因

  • fetch の送り先が違い、Open WebUI や 404 のページに届いている
  • ページを /chat(最後の / なし)で開いた
  • バックエンドがエラーを返した

直し方

  • http://192.168.100.xxx/chat/ のように、最後の / まで付けて開く
  • Nginxの location /chat/ の設定を見直す
エラーFailed to fetch(ブラウザの送信の失敗)ブラウザ

表示の例TypeError: Failed to fetch NetworkError when attempting to fetch

ブラウザからバックエンドへの送信そのものが失敗しました。

考えられる原因

  • バックエンドが止まっている
  • 送り先のURLの誤り

確かめる

Windows 11 ターミナル(SSH接続)bash
cd /opt/chat-app
sudo docker compose ps

直し方

  • バックエンドが動いているか確かめ、fetch の送り先を見直す

あなたの番号を設定

学生番号の下2桁を入れると、このサイトのコマンド例に出てくるIPアドレスやVM IDが、あなた用の値に置き換わります。値はこのブラウザの中だけに保存され、どこにも送信されません。