将来を見据えたウェブ・アプリケーションの構築:The Codestのエキスパート・チームによる洞察
The Codestが、最先端技術を駆使してスケーラブルでインタラクティブなウェブアプリケーションを作成し、あらゆるプラットフォームでシームレスなユーザー体験を提供することにどのように秀でているかをご覧ください。The Codestの専門知識がどのようにデジタルトランスフォーメーションとビジネス...
Windows Subsystem for Linux (WSL)を導入することで、マイクロソフトは開発者に、仮想マシンのオーバーヘッドなしに、GNU/Linux環境をそのままWindows上で実行する機会を与えた。多くの開発者は、あるシステムをプログラミングに使い、別のシステムをエンターテイメントに使っているため、これは素晴らしいソリューションだ。
WSLはまだ開発中だが、現在のところ、現代的なものに適している。 ソフトウェア開発最初のバージョンでも2番目のバージョンでも。インターネット上で報告されている問題や質問に目を通すと、そのほとんどはWSLとDockerの統合、特にWSL 1からWSL 2へのアップグレードに関するもののようです。
この記事は、すべての曖昧さを払拭し、あなたが苦労せずにこのプロセスを乗り切るのを助けるだろう。もしあなたがWSL 1を持っていなくて、Dockerを使ったWSL 2を持ちたいのであれば、そのまま最後の章に飛ぶことができる。
- 実際の最新の安定したLinuxカーネル(マイクロソフトによって調整された)。WSL 1はLinuxカーネルなしでLinux互換のカーネルインターフェイスを持っています。 コード.
- ファイルIOパフォーマンスの向上。zip圧縮されたtarファイルを解凍する場合、WSL 1と比較して最大20倍高速化。 ギットクローン
, npmインストール
そして センチメイク
様々なプロジェクトで
- 完全なシステムコール互換性。Linuxバイナリは、ファイルへのアクセス、メモリの要求、プロセスの生成など、多くの機能を実行するためにシステムコールを使用します。WSL 1では、WSL チームWSL 2には、完全なシステムコール互換性を持つ独自のLinuxカーネルが含まれています。
- 仮想ディスク上のネイティブext4パーティションに格納されているファイル。
- Dockerとの統合は非常に簡単だ。
ほとんどのユーザーにとって、ファイルIOのパフォーマンスと簡単なドッカー統合は十分な理由に聞こえると思う。
Windows 10 Proの最新の安定版をお使いだと思います。今日に関しては、1909リリースです。
現在、WSL 2はWindows 10のinsiders' slow ringでのみ利用可能です。私が知る限り、安定版は2020年5月(20H1リリース)に利用可能になるはずだ。スローリングは、ファストリングユーザーによって事前にテストされた新機能を少しでも早く使いたいユーザーにとって、非常に安全なソリューションだ。スローリングでは、月に1~2回のシステムアップデートが行われる。インサイダー・リリースの変更については、以下のマイクロソフトのドキュメントをご覧ください。 フライトハブ.
参加するには、公式マイクロソフト ガイド.非常に簡単で、個人データを失うことなく15分ほどで完了する。
オフィシャルをフォローする ガイド.これも非常に簡単で、2、3のシェルコマンドを実行するだけだ!WSL 1のLinuxがどの程度広範囲かにもよるが、時間がかかるかもしれない。残念ながら、マイクロソフトはプログレスバーや所要時間に関する情報を表示していません。
これはWSL 2とDockerの適切な連携のために最も重要な部分です。WSL 2にアップグレードした後、多くのユーザはDockerチームが、特にWSL 2のために、私たちのために全てをやってくれるリリースを用意してくれていることを知らずに、Dockerのバージョンを強制的に連携させようとしています。これはDocker Edgeバージョン(ベータ版名)の最後のリリースです。このバージョン2.1.7.0はよく洗練されており、近々リリースされる安定版の候補です。
WSL 1を持っていないユーザーや、WSL 2の新しいバージョンをインストールしたばかりのユーザーはラッキーで、すぐに最後の章にスキップすることができます。
Dockerを(全く、あるいは正しく)クリーニングしておらず、WSL 2のために適切なバージョンのDockerをインストールしていない場合、例えば以下のような一般的なエラーが発生する可能性があります、 Cannot connect to Docker daemon at tcp://localhost:2375", "Is Docker daemon running
など。ほとんどの場合、これらのエラーを解決するために新しいアプローチを取らなければならないことを知らなければ、時間を失うことになる。これを行うには、まずWSLとWindowsからDockerを完全に削除しなければならない。
削除されずに残っている最も一般的な例は、環境変数を設定する古いDockerのアプローチである。 DOCKER_HOST=tcp://localhost:2375
WSL 1でWindows Dockerオプションと連携する。 TLSなしでtcp://localhost:2375にデーモンを公開する。
.
sudo apt-get remove docker docker-engine docker.io containerd runc
このリストに追加することができる。 ドッカーシー
そして docker-ce-cli
.
dpkg -l | grep -i docker
そして、まだ存在する場合は削除する。sudo rm -rf /var/lib/docker /etc/docker /etc/apparmor.d/docker /var/run/docker.sock /usr/local/bin/docker-compose /etc/docker
sudo groupdel docker ~/.docker
すべてを見つける ドッカー
発生した単語を確認し、確実なものを削除する。
sudo find / -name "*docker*"
ドッカー
環境変数などの発生 DOCKER_HOST=tcp://localhost:2375
.これらのファイルはNanoエディターで編集できる、 nano ~/.bashrc
またはVisual Studio Code、 コード ~/.bashrc
.
~/.bashrc
~/.bash_aliases
~/.bash_profile
~/.bash_login
~/プロファイル
/etc/bash.bashrc
/etc/profile
アプリと機能
のパネルがある。C:Program FilesDocker
C:ProgramDataDockerDesktop
C:Users[USERNAME].ドッカー
C:Users[USERNAME]AppDataLocalDocker
C:Users[USERNAME]AppDataRoamingDocker
C:Users[USERNAME]AppDataRoamingDocker デスクトップ
Docker Desktop Edgeの最新バージョンを以下からインストールする。 これ そして、公式の 諸注意.本当に数クリックで済む。
すべてがうまくいけば、次のような出力が得られるはずです。 wsl -l -v
こんな感じだ:
名前 状態 バージョン
Ubuntu-18.04 実行中 2
docker-desktop 実行中 2
docker-desktop-data 実行中 2
以上だ。Dockerは独自のWSLコンテナを作成した ドッカーデスクトップ
そして ドッカーデスクトップデータ
.利用可能なチュートリアルやアドバイスのいくつかは、この時間のために混乱することができます。 WSLのLinuxディストリビューションでは、Dockerに関連するものをインストールしたり、設定したりしてはいけません。.覚えておくことはとても重要だ。クリーニングの後、それはすぐにうまく機能するはずです。
さらに...
WSL 2をDockerでセットアップするのは、いくつかの簡単なステップで苦もなく行えます。まず パッケージリスト というコマンドを使う。sudo apt-get update "で最新のバージョン情報があることを確認する。不足している依存関係を"sudo apt-get install -y build-essential "でスムーズにインストールできる。インストール ドッカーエンジン を"sudo apt-インストール -y ドッカーエンジン"を使えば、コンテナの構築、実行、管理が簡単にできる。コンテナを起動するには、"sudo docker run "にイメージ名を続けて実行する。環境を最適に保つために、定期的に "sudo docker system prune "を実行して未使用のコンテナを削除し、ディスクスペースを解放する。以上の手順で、WSL 2とDockerをシームレスに統合し、開発ワークフローで効率的なコンテナ化を楽しむことができます。