検索
ホームページ運用・保守DockerDocker のオフライン インストールが開始できない

現在のクラウド コンピューティングとコンテナ化の波の下で、Docker は主流のアプリケーション コンテナ化テクノロジとして浮上し、運用、保守、開発の分野で最も広く使用されているツールの 1 つになりました。これに関連して、Docker のオフライン インストールも非常に一般的な要件となり、多くのユーザーがインターネットに接続できない、またはセキュリティなどの理由でインターネット接続が禁止されているため、オフライン インストールは最も便利なインストール方法の 1 つとなっています。しかし、Docker のオフラインインストールでは、インストールは成功しても起動に失敗することが多く、初心者にとっては非常に厄介な問題です。

この記事では、実際の操作から始まり、Docker のオフライン インストール方法を紹介し、起動失敗の詳細な分析を行って詳細なガイドを提供します。

1. Docker のオフライン インストール

Docker をオフラインでインストールするには 2 つの方法があります: 1 つは Docker バイナリ ファイルをダウンロードしてインストールする方法、もう 1 つは yum ソースを設定してインストールする方法です。前者は主にネットワーク条件のないサーバーに適しており、後者は Linux 開発環境のオフライン インストールに適しています。

1. Docker バイナリ ファイルをダウンロードしてインストールする

この方法の原理は比較的単純で、Docker バイナリ ファイルをローカルにダウンロードしてインストールします。具体的な手順は次のとおりです。

1.1 Docker バイナリ ファイルを取得する

公式 Web サイト https://www.docker.com/ から、対応するバージョンの Docker バイナリ ファイルをダウンロードします。ダウンロードする際には、現在のオペレーティング システムに関する情報が必要です。centos システムの場合は、次のアドレスに対応するバイナリ ファイルをダウンロードすることを選択できます。

https://download.docker.com/linux/static/stable/x86_64/ docker-versionnumber.tgz

1.2 Docker バイナリ ファイルのインストール

インストール時ダウンロードしたバイナリ ファイルを解凍し、docker および dockerd ファイルを /usr/bin ディレクトリに移動する必要があります。

tar -xvf docker-versionnumber.tgz
cp docker/* /usr/bin

2. yum ソースを設定してインストールします

centos システムの下に、yum ソースを構成することで、Docker をオフラインでインストールできます。具体的な手順は次のとおりです。

2.1 Docker の yum ソースを取得します。

公式 Web サイト https://www.docker.com/ から、対応するバージョンの Docker インストール パッケージをダウンロードします。ダウンロードする際には、現在のオペレーティング システムに関する情報を把握し、システム バージョンに対応する rpm パッケージをダウンロードする必要があります。

2.2 新しいローカル yum ソースの作成

ローカル yum ソース ディレクトリを作成し、ダウンロードした Docker インストール パッケージをこのディレクトリにコピーし、createrepo コマンドを使用してディレクトリを作成します

# mkdir /var/docker

cp docker-ce*.rpm /var/docker
createrepo /var/docker

2.3 /etc/yum で yum ソース

を構成します。新しいリポジトリ ファイルを .repos.d ディレクトリに作成し、次の内容を記述します

[docker-local]

name=Docker Local repo
baseurl=file:///var/docker
Enabled=1
gpgcheck=0

2.4 Docker のインストール

次のコマンドを実行して Docker をインストールします

yum install docker-ce

二、起動エラーの解決策

1. 問題の説明

#上記の Docker のオフライン インストールを完了した後、Docker の起動エラーが発生し、次のエラーが発生する場合があります:

$ sudo systemctl start docker

制御プロセスがエラー コードで終了したため、docker.service のジョブが失敗しました。
詳細については、「systemctl status docker.service」および「journalctl -xe」を参照してください。

systemctl status の実行docker.service コマンドは、起動失敗の理由が docker.service ファイル内の「ExecStart」コマンドが正常に実行できないことであることを示しています:

$ sudo systemctl status docker.service

...
Apr 30 07:40:32 localhost.localdomain systemd[1]: Docker Application Container Engine を開始しました。
Apr 30 07:40:32 localhost.localdomain systemd[1]: docker.service: メインプロセスが終了しました、コード=exited 、status=1/FAILURE
Apr 30 07:40:32 localhost.localdomain systemd[1]: ユニット docker.service が失敗状態になりました。
Apr 30 07:40:32 localhost.localdomain systemd[1] ]: docker.service が失敗しました。
Apr 30 07:40:32 localhost.localdomain systemd[1]: docker.service ホールドオフ タイムオーバー、再起動のスケジュール設定。
Apr 30 07:40:32 localhost.localdomain systemd[ 1] : Docker アプリケーション コンテナ エンジンが停止しました。

$sudojournalctl -xe

dockerd-current[14552]: time="2020-04-30T07:40:32.652790118 08:00" level=error msg =" systemd notifier が失敗しました: systemd モジュール \"libsystemd.so\" をロードできません: 共有 o
dockerd-current[14552] を開けません: デーモンの起動に失敗しました: ネットワーク コントローラーの初期化エラー: ブリッジ アドレスのリストに失敗しました: PreDefinedLocalScopeDefaultNetworks リスト失敗: 事前定義された
dockerd-current[14552]: デーモンの開始エラー: ネットワーク コントローラーの初期化中にエラーが発生しました: ブリッジ アドレスの一覧表示に失敗しました: PredependentLocalScopeDefaultNetworks リストの失敗: 事前定義された
systemd[1]: docker.service: メイン プロセスが終了しました、コード =終了しました、ステータス = 1/FAILURE
systemd[1]: Docker Application Container Engine の開始に失敗しました。
systemd[1]: ユニット docker.service が失敗状態になりました。
systemd[1]: docker.service

2. 問題分析

上記のエラー メッセージから、Docker の起動に失敗した理由は、Docker のネットワーク コントローラーを起動できないためであることがわかります。具体的には、Docker のネットワーク コントローラーが iptables ファイアウォールを通じてコン​​テナ ネットワークを管理し、ファイアウォールがデフォルトですべての非ローカル トラフィックを禁止しているためです。 Docker の場合、初回起動時に iptables に関連ルールが自動的に追加されますが、オフラインでインストールされた Docker を初めて起動するとルールの追加に失敗し、ネットワーク コントローラーの起動に失敗します。具体的には、ユーザーが Docker を起動すると、Docker はローカル IP アドレスに基づいて docker0 という名前のブリッジを自動的に作成します。この操作が失敗すると、Docker を起動できなくなります。

3. 問題解決

この問題を解決するには、主に 2 つの方法があります:

3.1 docker0 ブリッジを作成する

docker0 ブリッジを手動で作成すると、問題を解決できます。この問題に対して、centos で次のコマンドを実行して docker0 ブリッジを手動で作成できます:

sudo ip link add name docker0 type Bridge
sudo ip addr add dev docker0 172.17.0.1/16
sudo ip link set dev docker0 up

上記の操作が完了したら、再度 Docker を起動し、管理者として次のコマンドを実行します。

$ sudo systemctl start docker

toスタートアップのDockerを完成させます。

3.2 ファイアウォール ルールを変更する

ファイアウォールを無効にするか、ファイアウォール ルールを変更することも、この問題を解決する効果的な方法です。ファイアウォールをオフにするときは、次のコマンドを使用できます:

$ systemctl stop firewalld
$ systemctl disable firewalld

ただし、この状況はお勧めできません。セキュリティ要件に従って可能な限りファイアウォールを使用します。

iptables ルールを変更する場合は、次のコマンドを使用してルールを追加できます:

$ sudo iptables -P FORWARD ACCEPT
$ sudo iptables -I FORWARD -j ACCEPT
$ sudo service iptables save

上記の操作を行った後、再度Dockerを起動すると正常に起動します。

3. 概要

この記事の導入部を通じて、Docker をオフラインでインストールすると、ネットワークの問題により Docker が起動しない可能性があることがわかりました。現時点では、Docker のネットワーク コントローラーの動作原理を理解し、手動で構成するか、iptables ファイアウォールに特定の変更を加えて、Docker の起動失敗の問題を最終的に解決する必要があります。もちろん、特定のエラー メッセージを適時に確認し、分析を行うことで、このような問題を解決することもできます。

したがって、Docker のオフライン インストールと起動中は、慎重かつ忍耐強く、実験とデバッグを続け、最終的には問題を解決する適切な方法を見つける必要があります。

以上がDocker のオフライン インストールが開始できないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Mastering Docker:Linuxユーザー向けガイドMastering Docker:Linuxユーザー向けガイドApr 18, 2025 am 12:08 AM

LinuxでDockerを使用すると、開発効率が向上し、アプリケーションの展開を簡素化できます。 1)Ubuntu画像を引く:dockerpullubuntu。 2)ubuntuコンテナを実行:Dockerrun-itubuntu/bin/bash。 3)nginxを含むDockerFileを作成します:fromubuntu; runapt-getupdate && apt-getinstall-ynginx; expose80。 4)画像の作成:dockerbuild-tmy-nginx。 5)コンテナの実行:Dockerrun-D-P8080:80

LinuxのDocker:アプリケーションとユースケースLinuxのDocker:アプリケーションとユースケースApr 17, 2025 am 12:10 AM

Dockerは、Linuxのアプリケーションの展開と管理を簡素化します。 1)Dockerは、アプリケーションとその依存関係を軽量でポータブルコンテナにパッケージ化するコンテナ化されたプラットフォームです。 2)Linuxでは、DockerはCgroupと名前空間を使用して、コンテナの分離とリソース管理を実装します。 3)基本的な使用には、画像の引き込みと実行容器が含まれます。 DockerComposeなどの高度な使用は、マルチコンテナーアプリケーションを定義できます。 4)一般的に使用されるDockerLogsとDockerexecコマンドをデバッグします。 5)パフォーマンスの最適化は、マルチステージの構造により画像サイズを縮小することができ、DockerFileをシンプルに保つことがベストプラクティスです。

Docker:移植性とスケーラビリティのためのコンテナ化アプリケーションDocker:移植性とスケーラビリティのためのコンテナ化アプリケーションApr 16, 2025 am 12:09 AM

Dockerは、アプリケーションのパッケージ化、配布、およびアプリケーションの携帯性とスケーラビリティを改善するために使用されるLinuxコンテナテクノロジーベースのツールです。 1)DockerBuildおよびDockerrunコマンドを使用して、Dockerコンテナを構築および実行できます。 2)DockerComposeを使用して、マルチコンテナーDockerアプリケーションを定義および実行して、マイクロサービス管理を簡素化します。 3)マルチステージの構造を使用すると、画像サイズを最適化し、アプリケーションの起動速度を向上させることができます。 4)コンテナログの表示は、コンテナの問題をデバッグする効果的な方法です。

Dockerによってコンテナを起動する方法Dockerによってコンテナを起動する方法Apr 15, 2025 pm 12:27 PM

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

Dockerからログを表示する方法Dockerからログを表示する方法Apr 15, 2025 pm 12:24 PM

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

Dockerコンテナの名前を確認する方法Dockerコンテナの名前を確認する方法Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Docker用のコンテナを作成する方法Docker用のコンテナを作成する方法Apr 15, 2025 pm 12:18 PM

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

Dockerによってコンテナを出る方法Dockerによってコンテナを出る方法Apr 15, 2025 pm 12:15 PM

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)