環境説明環境: Win10 Enterprise Edition + Ubuntu 18.04 LTS [WSL] Windows 10 に Docker for Windows をインストールする現在、Docker には Win10 Professional システム用の特別なインストール パッケージがあり、Hyper-V を有効にする必要があります。 Hyper-Vを有効にする プログラムと機能 Windows の機能をオンまたはオフにする Hyper-Vを選択 Windows用DockerをインストールするWindows 用 Docker の最新バージョン ダウンロードアドレス: https://docs.docker.com/v17.09/docker-for-windows/install/ Get Docker for Windows [Stable] をクリックして、Windows バージョンをダウンロードします。 インストールが完了すると、Docker が自動的に起動します。通知バーに小さなクジラのアイコンが表示されます 以下に示すように、3 つのアイコンもテーブルに表示されます。 コマンドラインで 起動していない場合は、Windows で Docker を検索して起動できます。 起動すると、通知バーに小さなクジラのアイコンも表示されます。 サブシステムのインストール Dockerのインストール問題ない leenhem@DESKTOP-7SREO20:~$ sudo apt-get install docker.io パッケージリストを読み込んでいます...完了 依存関係ツリーの構築 状態情報を読み込んでいます...完了 docker.ioはすでに最新バージョン(18.09.7-0ubuntu1〜18.04.4)です。 アップグレードされたものは 0 個、新規インストールされたものは 0 個、削除されたものは 0 個、アップグレードされていないものは 111 個。 使用に問題がある[正常に使用できない] 公式サイトの説明 leenhem@DESKTOP-7SREO20:~$ docker ps unix:///var/run/docker.sock の Docker デーモンに接続できません。Docker デーモンは実行されていますか? leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/docker ステータス * Dockerが実行されていません leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/docker を開始します * Dockerを起動しています: docker [ OK ] リーンヘム@DESKTOP-7SREO20:~$ leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/docker ステータス * Dockerが実行中 leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/docker ステータス * Dockerが実行されていません Docker をまったく起動できないことがわかります。どうすればよいでしょうか?最初に必ずログを確認してください (/var/log/docker.log) leenhem@DESKTOP-7SREO20:~$ テール /var/log/docker.log -n 100 time="2019-10-22T11:58:25.436968100+08:00" level=info msg="ccResolverWrapper: 新しいアドレスを cc に送信しています: [{unix:///var/run/docker/containerd/containerd.sock 0 <nil>}]" module=grpc time="2019-10-22T11:58:25.437359900+08:00" level=info msg="ClientConn がバランサーを \"pick_first\" に切り替えています" module=grpc time="2019-10-22T11:58:25.437703900+08:00" レベル=情報 メッセージ="pickfirstBalancer: HandleSubConnStateChange: 0xc420769030、接続中" モジュール=grpc time="2019-10-22T11:58:25.438698400+08:00" レベル=情報 メッセージ="pickfirstBalancer: HandleSubConnStateChange: 0xc420769030, READY" モジュール=grpc time="2019-10-22T11:58:25.559058900+08:00" level=info msg="[graphdriver] 以前のストレージ ドライバーを使用しています: overlay2" time="2019-10-22T11:58:25.719182400+08:00" level=info msg="グラフのコンテンツ アドレス可能性への移行に 0.00 秒かかりました" time="2019-10-22T11:58:25.719593400+08:00" level=warning msg="カーネルは cgroup メモリ制限をサポートしていません" time="2019-10-22T11:58:25.719660300+08:00" level=warning msg="マウント内に CPU cgroup が見つかりません" time="2019-10-22T11:58:25.719697200+08:00" level=warning msg="マウント内に blkio cgroup が見つかりません" time="2019-10-22T11:58:25.719732900+08:00" level=warning msg="マウント内に cpuset cgroup が見つかりません" time="2019-10-22T11:58:25.719888000+08:00" level=warning msg="pid のマウントポイントが見つかりません" time="2019-10-22T11:58:25.721991900+08:00" level=info msg="正常なシャットダウン後のヘルスチェックを停止しています" module=libcontainerd time="2019-10-22T11:58:25.722045300+08:00" level=info msg="正常なシャットダウン後にイベント ストリームを停止しています" error="コンテキストがキャンセルされました" module=libcontainerd namespace=plugins.moby time="2019-10-22T11:58:25.723869300+08:00" レベル=情報 メッセージ="pickfirstBalancer: HandleSubConnStateChange: 0xc420769030, TRANSIENT_FAILURE" モジュール=grpc time="2019-10-22T11:58:25.724042800+08:00" レベル=情報 メッセージ="pickfirstBalancer: HandleSubConnStateChange: 0xc420769030、接続中" モジュール=grpc デーモンの起動エラー: デバイス cgroup がマウントされていません 予備的な結論: WIN10カーネルはLinuxのcgroupとaufsコンポーネントを完全にシミュレートすることはできません 公式サイトの説明 [解決方法] [クロスポスト] WSL と Docker の相互運用性 https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly apt インストール スクリーンフェッチ スクリーンフェッチ スクリプト: https://files.cnblogs.com/files/rgqancy/WSL.js、ダウンロードしてtxtとして保存 リレーの確立 Go がインストールされたので、リレーをビルドできます。以下のコマンドでは、必ず Windows ユーザー名に置き換えてください。 github.com/jstarks/npiperelay にアクセスします。 GOOS=windows go build -o /mnt/c/Users/Administrator/go/bin/npiperelay.exe github.com/jstarks/npiperelay 現在、Windows 用にリレーが構築されていますが、WSL 内から呼び出せるようにしたいと考えています。これを行うには、シンボリック リンクを作成します。必ず Windows ユーザー名に置き換えてください: sudo ln -s /mnt/c/Users/Administrator/go/bin/npiperelay.exe /usr/local/bin/npiperelay.exe リレーを可能にするために socat を使用します。 2 つのポイント間で双方向にデータを流すツールである socat をインストールします (これについては後で詳しく説明します)。このパッケージを入手してください: sudo apt をインストール socat 最終ステップ socat がインストールされ、実行ファイルがビルドされたら、いくつかのものをつなげるだけです。機能を有効にするためにシェル スクリプトを作成します。これをユーザーのホームディレクトリに配置します。これを行うには: #ファイルを作成する ~/docker-relay をタッチします #実行権限を追加 chmod +x ~/docker-relay 作成したファイルを、お気に入りのテキスト エディター (vim など) で開きます。これを docker-relay ファイルに貼り付けます: #!/bin/sh exec socat UNIX-LISTEN:/var/run/docker.sock、fork、group=docker、umask=007 EXEC:"npiperelay.exe -ep -s //./pipe/docker_engine"、nofork ファイルを保存して閉じます。 docker-relay スクリプトは、docker グループによるアクセスを許可するように Docker パイプラインを構成します。通常のユーザーとして実行するには (すべての docker コマンドに 'sudo' を追加する必要はありません)、WSL ユーザーを docker グループに追加します。 Ubuntuの場合: sudo adduser <WSLユーザー> docker テストしてみましょう! 新しい WSL シェルを開いて、グループ メンバーシップがリセットされていることを確認します。バックグラウンドでリレーを開始します。 sudo ~/docker-relay & 次に、docker コマンドを実行して状況をテストします。 Windows からコマンドを実行した場合と同じ出力が表示されます (コマンドの前に「sudo」を付ける必要がないことに注意してください)。 知らせ 事前にDocker for Windowsを起動するには 概略図WSL で実行されている Docker クライアントを Docker for Windows と通信させる場合、根本的な問題があります。WSL クライアントは Unix ソケット経由の IPC を理解しますが、Docker for Windows は名前付きパイプ経由の IPC を理解します。ここで socat と npiperelay.exe が役立ちます。これらは、IPC のこれら 2 つの分離した形式の間の仲介役です。 Socat は Unix ソケット経由で通信する方法を理解し、npiperelay は名前付きパイプ経由で通信する方法を理解します。 socat と npiperelay はどちらも stdio 経由で通信する方法を理解しているため、相互に通信できます。 要約する 上記は、編集者が紹介した、Win10 サブシステム Ubuntu (WSL) に Docker をインストールする方法に関するチュートリアルです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: MySQLの実行原理、論理階層化、データベース処理エンジンの変更について詳しく説明します
この記事の例では、クリックしてカードを切り替える機能を実現するためのjsの具体的なコードを共有してい...
目次抽象化と再利用シリアルセグメントシリアル、セグメントパラレル要約するはじめに: JS は当然並列...
1. 環境整備1.1 基本環境NTP設定: 省略 #時間の一貫性を確保するためにNTPサービスを設定...
目次# データ準備後# SQLクエリ率テスト# SQL グループレートテスト# sql ソート率テス...
HTML タグ: 上付き文字HTML では、<sup> タグは上付き文字のテキストを定義...
序文最近は、PC、iPad、携帯電話、スマートウォッチ、スマートテレビなど、さまざまなデバイスが存在...
1. Nginxの簡単な紹介Nginx は、無料のオープンソースの高性能 HTTP サーバーおよびリ...
序文PC サーバーは今日まで発展を続け、パフォーマンスにおいて大きな進歩を遂げてきました。 64ビッ...
最近はビッグデータで遊んでいます。友人が私のところに来て、オンラインの Tomcat が不可解に終了...
最初のステップは、Python のバージョン番号とインストール パスを確認することです。 上記のビュ...
目次古典的なアプローチ質問その他の質問注意が必要な問題古典的なアプローチご存知のとおり、アカウントの...
CSS変数の知識を使って、追加したコードとコメントを直接投稿します <!DOCTYPE htm...
<br />国内のウェブサイトが本格的に普及し、ユーザーエクスペリエンスに重点が置かれる...
インデックスとは何ですか?インデックスは、データベース ストレージ エンジンが指定されたデータをすば...
このタグはHTML3.2の一部ではなく、MSIE3以降のカーネルでのみサポートされているため、IEカ...