ホームページ 運用・保守 Docker docker-machineが起動できない問題の解決方法

docker-machineが起動できない問題の解決方法

Jan 04, 2022 pm 04:07 PM
docker

docker-machine が起動できない問題の解決策: 1. "docker-machine ls" を使用してホストの状態を確認する; 2. 既存の docker をアンインストールし、再インストールする; 3. docker を起動して、ホストの状態を確認するdocker サービスのステータス。

docker-machineが起動できない問題の解決方法

この記事の動作環境: centos7 システム、Docker バージョン 19.03.9、Dell G3 コンピューター。

docker-machine が起動できない問題を解決するにはどうすればよいですか?

Centos7 docker-machine が docker ホストをデプロイし、docker サービスが開始できない

背景:

Centos7 Core を docker として使用する計画テストを構築するホスト プラットフォームには 4 つのホストのみがあり、Swarm ソリューションを使用します。

#環境:

ホスト名システムIP アドレス準備作業docker-host1CentOS7コアxxx.xxx.xxx.80docker- host2CentOS7 Corexxx.xxx.xxx.81docker-host3CentOS7 Corexxx.xxx.xxx を使用するように docker-machine を構成します。 82#docker- host4yum ソースを更新し、aliyun ミラーを使用し、次のように更新します。最新のステータスdesktop#インストール:
yum ソースを更新し、aliyun ミラーを使用し、最新のステータスに更新します。

docker-machine で使用するユーザーを設定し、sudo passwd-free

yum ソースを更新し、aliyun イメージを使用し、最新のステータスに更新します

ユーザー、sudo パスワードなし

yum ソースを更新し、aliyun ミラーを使用し、最新のステータスに更新します。

docker-machine で使用するユーザーを設定し、sudo パスワードを無料にします

CentOS7 Core xxx.xxx.xxx.83

構成 docker-machine で使用されるユーザー、sudo パスワードなし

ubuntu-18.04lts 設定不要 秘密キーを使用して docker-host にログイン

作業中のデスクトップ (Ubuntu) ホストに docker-machine をインストールします。 https://docs.docker.com/machine/install-machine/

最初に docker-host1:

をインストールします。

docker-machine --debug create --driver generic - -generic-ip-address=xxx.xxx.xxx.80 --generic-ssh-key=/home/sleeber/.ssh/id_rsa - -generic-ssh-port=22 --generic-ssh-user=wntime docker -host1

インストールの最終出力には、docker サービスを開始できないことが示されています:

sudo systemctl -f start docker
SSH cmd err, output: exit status 1: Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

Error creating machine: Error running provisioning: something went wrong running an SSH command
command : sudo systemctl -f start docker
err     : exit status 1
output  : Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

notifying bugsnag: [Error creating machine: Error running provisioning: something went wrong running an SSH command
command : sudo systemctl -f start docker
err     : exit status 1
output  : Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
]
ログイン後にコピー
docker-machine ls を使用してホストのステータスを表示します:

:~/docker-test-env$ docker-machine ls
NAME         ACTIVE   DRIVER    STATE     URL                      SWARM   DOCKER    ERRORS
docker-host1   -        generic   Running   tcp://xxx.xxx.xxx.80:2376           Unknown   Unable to query docker version: Cannot connect to the docker engine endpoint
ログイン後にコピー
docker-host1 ホストに SSH で接続し、docker サービスを手動で開始します

sudo systemctl start docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
ログイン後にコピー
プロンプトに従ってステータスを確認します

 systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/docker.service.d
           └─10-machine.conf
   Active: failed (Result: start-limit) since Thu 2020-05-28 20:41:39 EDT; 581ms ago
     Docs: https://docs.docker.com
  Process: 30463 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver overlay2 --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic (code=exited, status=1/FAILURE)
 Main PID: 30463 (code=exited, status=1/FAILURE)
ログイン後にコピー
谷歌一下:
https://github.com/moby/moby/issues/33931
https://www.jianshu.com/p/bd395fdf7611
https://www.jianshu.com/p/93518610eea1
ログイン後にコピー

検索結果によると、10-machine.conf が原因のはずですが、10-machine.conf ファイルとフォルダが削除されていても起動できません

$ sudo rm /etc/systemd/system/docker.service.d/10-machine.conf
$ sudo systemctl start docker
Failed to start docker.service: Unit is not loaded properly: Invalid argument.
See system logs and 'systemctl status docker.service' for details.
$ sudo rm -rf /etc/systemd/system/docker.service.d/
$ sudo systemctl start docker
Failed to start docker.service: Unit is not loaded properly: Invalid argument.
See system logs and 'systemctl status docker.service' for details.
ログイン後にコピー

dockerd を使用すると直接起動できます

$ sudo nohup dockerd &
[1] 31419
$ nohup: ignoring input and appending output to ‘nohup.out’

$ ll
total 4
-rw-------. 1 root root 2638 May 28 20:52 nohup.out
$ tail -f nohup.out
tail: cannot open ‘nohup.out’ for reading: Permission denied
tail: no files remaining
$ sudo tail -f nohup.out
time="2020-05-28T20:52:56.409646032-04:00" level=warning msg="Base device already exists and has filesystem xfs on it. User specified filesystem  will be ignored." storage-driver=devicemapper
time="2020-05-28T20:52:56.430282474-04:00" level=info msg="[graphdriver] using prior storage driver: devicemapper"
time="2020-05-28T20:52:56.430326847-04:00" level=warning msg="[graphdriver] WARNING: the devicemapper storage-driver is deprecated, and will be removed in a future release"
time="2020-05-28T20:52:56.433336530-04:00" level=warning msg="mountpoint for pids not found"
time="2020-05-28T20:52:56.433595847-04:00" level=info msg="Loading containers: start."
time="2020-05-28T20:52:56.529329426-04:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
time="2020-05-28T20:52:56.558933143-04:00" level=info msg="Loading containers: done."
time="2020-05-28T20:52:56.570819898-04:00" level=info msg="Docker daemon" commit=9d988398e7 graphdriver(s)=devicemapper version=19.03.9
time="2020-05-28T20:52:56.570873940-04:00" level=info msg="Daemon has completed initialization"
time="2020-05-28T20:52:56.585131361-04:00" level=info msg="API listen on /var/run/docker.sock"
^C
$ sudo docker version
Client: Docker Engine - Community
 Version:           19.03.9
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        9d988398e7
 Built:             Fri May 15 00:25:27 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.9
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       9d988398e7
  Built:            Fri May 15 00:24:05 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
ログイン後にコピー

systemctl を使用して docker サービスのステータスを確認しても失敗が表示されます

$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/docker.service.d
           └─10-machine.conf
   Active: failed (Result: start-limit) since Thu 2020-05-28 20:49:52 EDT; 4min 59s ago
     Docs: https://docs.docker.com
  Process: 31051 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver overlay2 --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic (code=exited, status=1/FAILURE)
 Main PID: 31051 (code=exited, status=1/FAILURE)

May 28 20:49:50 test-java2 systemd[1]: docker.service failed.
May 28 20:49:52 test-java2 systemd[1]: docker.service holdoff time over, scheduling restart.
May 28 20:49:52 test-java2 systemd[1]: Stopped Docker Application Container Engine.
May 28 20:49:52 test-java2 systemd[1]: start request repeated too quickly for docker.service
May 28 20:49:52 test-java2 systemd[1]: Failed to start Docker Application Container Engine.
May 28 20:49:52 test-java2 systemd[1]: Unit docker.service entered failed state.
May 28 20:49:52 test-java2 systemd[1]: docker.service failed.
May 28 20:50:45 test-java2 systemd[1]: start request repeated too quickly for docker.service
May 28 20:50:45 test-java2 systemd[1]: Failed to start Docker Application Container Engine.
May 28 20:50:45 test-java2 systemd[1]: docker.service failed.
ログイン後にコピー

docker-machine で docker のインストールにまだ問題があると推測され、手動インストールしかできません

注注: docker をアンインストールした後、/etc/systemd/system/docker.service.d/ フォルダーを手動で削除する必要があります。そうしないと、新しくインストールされた docker が起動しません。

既存の docker をアンインストールして再インストール

sudo yum remove docker* \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

sudo rm -rf /etc/systemd/system/docker.service.d/

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install -y docker-ce docker-ce-cli containerd.io
ログイン後にコピー
docker を起動して docker サービスの状態を確認

$ sudo docker version
Client: Docker Engine - Community
 Version:           19.03.10
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        9424aeaee9
 Built:             Thu May 28 22:18:06 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.10
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       9424aeaee9
  Built:            Thu May 28 22:16:43 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
ログイン後にコピー
正常に起動できます

推奨調査: 「

docker ビデオ チュートリアル

以上がdocker-machineが起動できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerによるプライベートリポジトリを構築する方法 Dockerによるプライベートリポジトリを構築する方法 Apr 15, 2025 am 11:06 AM

Dockerプライベートリポジトリを構築して、コンテナ画像を安全に保存および管理し、厳格な制御とセキュリティを提供できます。手順には、リポジトリの作成、アクセスの付与、リポジトリの展開、画像のプッシュ、および画像の引くなどがあります。利点には、セキュリティ、バージョン制御、ネットワークトラフィックの削減、カスタマイズが含まれます。

docker lnmpの呼び方 docker lnmpの呼び方 Apr 15, 2025 am 11:15 AM

Docker LNMPコンテナコールステップ:コンテナの実行:Docker Run -D - Name LNMP -Container -P 80:80 -P 443:443 LNMPスタックコンテナIPを取得する:Docker Inspect LNMP -Container | GREP iPaddress Access Webサイト:http://< container ip>/index.phpsshアクセス:docker exec -it lnmp -container bash access mysql:mysql -u roo

Dockerコマンドの実行方法 Dockerコマンドの実行方法 Apr 15, 2025 am 11:24 AM

Dockerコマンドを実行する方法は? Dockerをインストールし、デーモンを起動します。一般的なDockerコマンド:Docker画像:表示画像の表示Docker PS:ディスプレイコンテナDocker run:run docker docker stop:Stop Container docker RM RM:Delete container container containerとcontainerとdocker exec:execute command docker adtach:adticle console docker logs:ディスプレイログドッカーのコミット:ミラー停止停止dock

Docker画像を保存する方法 Docker画像を保存する方法 Apr 15, 2025 am 11:54 AM

Dockerに画像を保存するには、Docker Commitコマンドを使用して、指定されたコンテナの現在の状態、Syntax:Docker Commit [Options]コンテナID画像名を含む新しい画像を作成できます。画像をリポジトリに保存するには、Docker Pushコマンド、Syntax:Docker Push Image Name [:Tag]を使用できます。保存された画像をインポートするには、Docker Pullコマンド、Syntax:Docker Pull Image Name [:Tag]を使用できます。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

See all articles