VirtualBox 内で GitLab を Docker コンテナとして動作させていた場合、単にコンテナを削除するだけでは不要なリソースが残る可能性があります。以下の手順で完全に削除を行いましょう。
Docker コンテナと関連リソースの削除
(1) GitLab コンテナの確認と削除
まず、現在稼働している GitLab のコンテナを確認し、停止・削除します。
✅ コンテナの確認
以下のコマンドで GitLab コンテナが存在するか確認します。
docker ps -a | grep gitlab
GitLab のコンテナがリストに表示された場合、次の手順で削除を行います。
✅ コンテナの停止と削除
docker stop <コンテナIDまたは名前>
docker rm <コンテナIDまたは名前>
ポイント
docker stop
はコンテナを安全に停止します。docker rm
はコンテナを削除しますが、データボリュームは残るため、次の手順で対応します。
(2) 使っていたボリュームを削除
GitLab はデータを Docker ボリュームに保存するため、ボリュームも削除しないとストレージに残ります。
✅ ボリュームの確認
docker volume ls | grep gitlab
GitLab に関連するボリュームが見つかったら、以下のコマンドで削除します。
✅ 特定のボリュームを削除
docker volume rm <ボリューム名>
✅ 未使用のボリュームを一括削除(注意!)
docker volume prune
注意点
docker volume prune
は未使用のすべてのボリュームを削除するため、他のコンテナで使用しているボリュームがないか注意してください。- 安全に削除するために、まず
docker volume ls
で必要なボリュームを確認しましょう。
(3) 不要なネットワークの削除
GitLab は独自のネットワークを作成して使用する場合があります。これが残っていると、新たにコンテナを起動する際に競合する可能性があります。
✅ ネットワークの確認
docker network ls | grep gitlab
✅ 特定のネットワークを削除
docker network rm <ネットワーク名>
✅ 未使用のネットワークを一括削除
docker network prune
補足
docker network prune
は未使用のすべてのネットワークを削除します。- GitLab が
bridge
などのカスタムネットワークを作成していた場合、それを削除することで環境がクリーンになります。
VirtualBox 内のデータを手動削除
Docker のボリュームやコンテナを削除しても、VirtualBox 内の仮想マシンに GitLab のデータが残っている可能性があります。これを手動で削除し、環境をクリーンにしましょう。
(1) GitLab のデータ削除
GitLab の設定によっては、Docker ボリュームではなくホスト(VirtualBox 内の OS)のファイルシステムにデータが保存されている場合があります。代表的な保存先を削除しましょう。
✅ GitLab のデータが保存されているディレクトリを削除
sudo rm -rf /srv/gitlab
✅ docker-compose で設定した場合の確認
GitLab を docker-compose.yml
を使って起動していた場合、データの保存先が volumes
で指定されている可能性があります。
設定ファイルを確認するには、以下のコマンドを実行してください。
cat docker-compose.yml | grep volumes -A 3
このコマンドで表示されたパスを元に、適切なディレクトリを削除しましょう。
注意点
/srv/gitlab
の削除は 完全にデータを消去 するため、必要なバックアップがないか確認してから実行してください。
(2) Docker のデータ削除
Docker のボリュームやネットワークを削除しても、一部のデータが /var/lib/docker
に残っている可能性があります。これを削除することで、よりクリーンな環境になります。
✅ Docker のデータディレクトリを削除
sudo rm -rf /var/lib/docker
このディレクトリには、コンテナのイメージや設定データが含まれています。GitLab 以外の Docker 環境を維持したい場合は、この削除を避けてください。
3. VirtualBox のネットワーク設定を確認・削除
GitLab の Docker コンテナを VirtualBox 内で動作させていた場合、ホストオンリーアダプタやNAT ネットワークなどのネットワーク設定が変更されている可能性があります。不要な設定が残っていると、他の仮想マシンや Docker のネットワークに影響を与えることがあるため、不要なネットワークを削除しましょう。
(1) ネットワーク設定の確認
まず、VirtualBox 内に存在するネットワーク設定を確認します。
✅ ホストオンリーアダプタの一覧を確認
VBoxManage list hostonlyifs
このコマンドを実行すると、現在のホストオンリーネットワークの一覧が表示されます。GitLab のために作成されたネットワークが不要であれば、次の手順で削除できます。
✅ NAT ネットワークの一覧を確認
VBoxManage list natnetworks
Docker が NAT ネットワークを使用していた場合、ここにリストが表示されます。GitLab に関連するネットワークが不要なら、削除を検討しましょう。
(2) 不要なネットワークを削除
ネットワークの確認後、不要なものを削除します。
✅ 不要なホストオンリーアダプタを削除
VBoxManage hostonlyif remove <ネットワーク名>
たとえば、vboxnet0
を削除する場合は以下のように実行します。
VBoxManage hostonlyif remove vboxnet0
✅ 不要な NAT ネットワークを削除
VBoxManage natnetwork remove --netname <ネットワーク名>
たとえば、natnet1
を削除する場合は以下のように実行します。
VBoxManage natnetwork remove --netname natnet1
注意点
- 他の仮想マシンが同じネットワークを使用している場合、削除すると通信ができなくなるため慎重に確認してください。
VBoxManage
コマンドは VirtualBox の管理ツールであり、実行には管理者権限が必要な場合があります。
4. VirtualBox 内の Docker キャッシュ削除
GitLab の Docker コンテナを削除しても、Docker のキャッシュや不要なイメージがストレージに残っている可能性があります。特に、複数回 GitLab を構築・削除した場合、古いイメージやキャッシュが溜まり、ディスク容量を圧迫することがあります。ここでは、Docker のキャッシュを削除し、ストレージを整理する方法を紹介します。
(1) Docker イメージの一覧を確認
まず、Docker に保存されているイメージを確認します。
docker images
このコマンドを実行すると、以下のようなリストが表示されます。
REPOSITORY TAG IMAGE ID CREATED SIZE
gitlab/gitlab-ce latest 123456789abc 2 weeks ago 2.5GB
ubuntu latest 987654321def 3 months ago 72MB
この一覧から、不要な GitLab 関連のイメージを特定します。
(2) 不要なイメージを削除
特定のイメージを削除するには、以下のコマンドを使用します。
docker rmi <イメージID>
たとえば、GitLab のイメージ ID が 123456789abc
である場合、以下のように削除します。
docker rmi 123456789abc
(3) 未使用のイメージを一括削除
手動で削除するのが面倒な場合は、未使用のイメージを一括で削除できます。
docker image prune -a
注意点
a
オプションをつけると、使用されていないすべてのイメージが削除されます。- 他のプロジェクトで使用しているイメージがないか確認してから実行してください。
(4) Docker のシステム全体のクリーンアップ
さらに、コンテナ、ボリューム、ネットワーク、キャッシュを含むすべての未使用リソースを削除するには、以下のコマンドを使用します。
docker system prune -a
このコマンドを実行すると、以下のものが削除されます。
✅ 使用されていないイメージ
✅ 停止済みのコンテナ
✅ 未使用のボリューム
✅ 未使用のネットワーク
実行時の注意
- 削除前に “Are you sure you want to continue? [y/N]” と確認されるので、問題なければ
y
を入力してください。 - すべての未使用データが削除されるため、他のプロジェクトに影響がないか確認してから実行してください。
5. VirtualBox 内の不要なプロセスを確認・停止
GitLab の Docker コンテナを削除した後も、不要なプロセスが動作しているとポート競合が発生する可能性があります。特に、GitLab は SSH (ポート 22
)、Web UI (ポート 80
や 443
)、リポジトリ管理 (ポート 5050
) などを使用するため、適切にプロセスを停止しておくことが重要です。
(1) ポート 22 の使用状況を確認
GitLab を削除したにもかかわらず ポート 22
に関するエラーが出る場合、SSH サーバーや docker-proxy
プロセスが残っている可能性があります。以下のコマンドで、どのプロセスがポートを使用しているかを確認しましょう。
sudo lsof -i :22
実行結果の例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1234 root 3u IPv4 67890 0t0 TCP *:22 (LISTEN)
docker-proxy 5678 root 4u IPv4 54321 0t0 TCP *:22 (LISTEN)
この場合、sshd
と docker-proxy
がポート 22 を使用しています。
(2) 残っているプロセスを終了
確認したプロセスを停止・削除します。
✅ SSH デーモンの停止(必要に応じて)
sshd
が不要なら、以下のコマンドで停止できます。
sudo systemctl stop sshd
または、完全に無効化する場合は以下を実行します。
sudo systemctl disable sshd
注意点
- SSH を利用してリモート接続している場合、停止するとアクセスできなくなるため注意してください。
✅ docker-proxy
の強制終了
GitLab のコンテナ削除後も docker-proxy
が残っている場合は、以下のコマンドでプロセスを終了します。
sudo kill -9 <プロセスID>
たとえば、docker-proxy
のプロセス ID (PID
) が 5678
の場合、次のように実行します。
sudo kill -9 5678
✅ 不要な Docker プロセスを一括停止
Docker のプロセスが複数残っている場合は、以下のコマンドで一括停止できます。
sudo systemctl stop docker
完全に無効化する場合は、以下を実行してください。
sudo systemctl disable docker
(3) 停止したプロセスの確認
最後に、ポート 22 にプロセスが残っていないか再度確認します。
sudo lsof -i :22
何も表示されなければ、プロセスの停止は完了です。
6. Docker の完全アンインストール(必要に応じて)
GitLab を削除した後も、Docker を使用しない場合は、Docker 自体をアンインストールして環境をクリーンにすることができます。特に、ディスク容量を確保したい場合や、Docker の再インストールを考えている場合に有効です。
(1) Docker のアンインストール
Docker を削除するには、以下のコマンドを実行します。
sudo apt-get remove --purge docker-ce docker-ce-cli containerd.io
このコマンドで、Docker の実行バイナリや関連ツールが削除されます。
注意点
-purge
オプションを付けることで、設定ファイルも含めて削除されます。- 依存関係のあるパッケージも削除される場合があるため、他のアプリケーションに影響がないか確認してください。
(2) 残った Docker データの削除
Docker をアンインストールしても、一部のデータは /var/lib/docker
に残るため、手動で削除します。
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker
さらに、Docker のキャッシュや設定ファイルも削除する場合は、次のコマンドを実行してください。
sudo rm -rf ~/.docker
このコマンドは、ユーザーのホームディレクトリに保存されている Docker の設定情報を削除します。
(3) 依存関係のクリーンアップ
不要になったパッケージを削除するために、以下のコマンドを実行します。
sudo apt-get autoremove -y
sudo apt-get autoclean
これにより、Docker の削除に伴い不要になったパッケージや一時ファイルが削除され、ディスクスペースを解放できます。
7. VirtualBox VM の完全削除(環境をまっさらにする場合)
GitLab の Docker コンテナを削除し、VirtualBox 内のデータをクリーンアップした後も、仮想マシン(VM)自体が不要であれば削除することで、ディスク容量を大幅に節約できます。特に、GitLab 専用の VM を使用していた場合、VM の削除によって環境を完全にリセットできます。
(1) VirtualBox の仮想マシンを一覧表示
まず、現在の仮想マシン(VM)の一覧を確認します。
VBoxManage list vms
このコマンドを実行すると、以下のような出力が得られます。
"Ubuntu-GitLab" {a1b2c3d4-e5f6-7890-abcd-ef1234567890}
"Test-VM" {b2c3d4e5-f678-9012-abcd-ef2345678901}
削除したい VM の名前または UUID をメモしておきましょう。
(2) 仮想マシンを削除
✅ 仮想マシンを VirtualBox から削除(仮想ディスクは残す)
VBoxManage unregistervm "Ubuntu-GitLab"
このコマンドを実行すると、VM は VirtualBox から削除されますが、仮想ディスク(.vdi ファイルなど)は残ります。
✅ 仮想マシンを完全に削除(ディスクも含める)
仮想ディスクも含めて VM を完全に削除するには、--delete
オプションを追加します。
VBoxManage unregistervm "Ubuntu-GitLab" --delete
このコマンドを実行すると、VM に関連するすべてのファイル(仮想ディスク、スナップショット、設定ファイルなど)が削除されます。
(3) VirtualBox の一時ファイルを削除
VM を削除しても、一部の一時ファイルが /home/<ユーザー名>/VirtualBox VMs/
に残ることがあります。以下のコマンドで不要なフォルダを削除してください。
rm -rf ~/VirtualBox\\ VMs/Ubuntu-GitLab
また、VirtualBox の設定ファイルをリセットしたい場合は、以下のフォルダも削除できます。
rm -rf ~/.config/VirtualBox
rm -rf ~/.VirtualBox
注意点
- VirtualBox の設定ファイルを削除すると、他の仮想マシンの設定も消えるため、他の VM を利用している場合は削除しないようにしてください。
(4) VirtualBox の設定をリセット(必要な場合)
VirtualBox の環境を完全にリセットしたい場合は、VirtualBox をアンインストールし、関連するファイルを削除できます。
✅ VirtualBox のアンインストール(Ubuntu の場合)
sudo apt-get remove --purge virtualbox
sudo apt-get autoremove -y
✅ VirtualBox のログやキャッシュを削除
rm -rf ~/.config/VirtualBox
rm -rf ~/.VirtualBox
rm -rf /var/log/virtualbox
この手順により、VirtualBox の設定やログが完全に削除されます。
8. まとめ
VirtualBox 内で動作していた GitLab の Docker コンテナを完全に削除するための手順を紹介しました。単にコンテナを削除するだけでは不要なリソースが残る可能性があるため、各種データや設定を適切にクリーンアップすることが重要です。
✅ 削除手順のチェックリスト
1️⃣ Docker のコンテナと関連リソースを削除
docker ps -a | grep gitlab
で GitLab コンテナを確認docker stop <コンテナID>
→docker rm <コンテナID>
で削除docker volume prune
で不要なボリュームを削除docker network prune
で未使用のネットワークを削除
2️⃣ VirtualBox 内のデータを手動削除
/srv/gitlab
などの GitLab データディレクトリを削除/var/lib/docker
を削除して Docker のデータを完全クリア
3️⃣ VirtualBox のネットワーク設定を削除
VBoxManage list hostonlyifs
で不要なネットワークを確認VBoxManage natnetwork remove --netname <ネットワーク名>
で削除
4️⃣ Docker のキャッシュを削除
docker image prune -a
で未使用のイメージを削除docker system prune -a
でシステム全体のクリーンアップ
5️⃣ VirtualBox 内の不要なプロセスを確認・停止
sudo lsof -i :22
でポート 22 の競合を確認sudo systemctl stop sshd
で SSH を停止(必要な場合のみ)sudo kill -9 <プロセスID>
で不要なプロセスを終了
6️⃣ Docker を完全にアンインストール(必要に応じて)
sudo apt-get remove --purge docker-ce docker-ce-cli containerd.io
でアンインストールrm -rf /var/lib/docker ~/.docker
で関連データを削除
7️⃣ VirtualBox の仮想マシンを完全削除(環境をゼロから構築したい場合)
VBoxManage unregistervm "Ubuntu-GitLab" --delete
で VM を削除rm -rf ~/VirtualBox\\ VMs/Ubuntu-GitLab
で残存データを削除sudo apt-get remove --purge virtualbox
で VirtualBox を完全アンインストール(必要な場合)
この手順をすべて実行することで、VirtualBox 内の GitLab 環境を完全に削除し、クリーンな状態にリセットできます。
👀 もし再び GitLab を VirtualBox 上で構築する場合は、最新の Docker 版 GitLab のセットアップ手順を参照し、適切な環境を構築しましょう!
コメント