IDEA で Docker を WSL2 にデプロイする詳細なプロセス

IDEA で Docker を WSL2 にデプロイする詳細なプロセス

ローカル環境はWindows10+WSL2(Ubuntu)です。サーバーにDockerをインストールし、リモートアクセスを有効にする必要があります。

sudo vi /etc/default/docker設定を変更する

# リモートアクセスを有効にする -H tcp://0.0.0.0:2375
# ローカルソケットアクセスを有効にする -H unix:///var/run/docker.sock
DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"

sudo service docker restartを再起動

IdeaにDockerプラグインをインストールした後、アドレスtcp://192.168.50.28:2375(ローカルIPアドレス)を設定します。接続が成功すると、接続成功のプロンプトが表示されます。

ここに画像の説明を挿入

ツール オプションを構成するには、まず Windows 版の Docker をインストールする必要があります。インストール後、プログラムを閉じて、コンピューターの起動時に自動的にオフにします。余分なプログラムを開きたくないからです。Ubuntu にはすでに Docker があるので、ここでは Windows 環境でコンテナー オーケストレーションを行うために docker-compose.exe を使用するだけです。必要ない場合は、Docker Machine について心配する必要はありません。

ここに画像の説明を挿入

一般的な Dockerfile および docker-compose.yml ファイルリファレンス

ubuntu:latestから

コピー target/*.jar /app.jar

環境変数JAVA_HOME="/usr/lib/jdk1.8"

環境変数PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/sbin"

エントリポイント [ "java", "-jar", "/app.jar" ]
バージョン: '3'
サービス:
  最後:
    建てる:
      コンテクスト: 。
      dockerfile: Dockerファイル
    ポート:
      - 「18080:8080」
    ボリューム:
      - /usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jdk1.8 #ホスト jdk は tty を使用してコンテナーにマップされます: true
    ネットワークモード: ブリッジ
    再起動: 常に

Docker-compose を使用して Docker コンテナを作成する

ここに画像の説明を挿入

ファイルを作成する先ほど作成したdocker-compose.ymlファイルを選択します

走る

'Compose: lin-test' をデプロイしています...
「C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe」-f D:\Project\gitFile\lin\lin-test\docker-compose.yml up -d
最後の建物
ビルド コンテキストを Docker デーモンに送信しています 61.72 MB
ステップ 1/5: ubuntu:latest から
---> c29284518f49
ステップ 2/5: target/*.jar /app.jar をコピーする
---> f13f1a3f4a0d
ステップ 3/5: ENV JAVA_HOME="/usr/lib/jdk1.8"
---> ea05d01bf802 で実行中
中間コンテナ ea05d01bf802 の削除
---> 9bb4f1a6be38
ステップ 4/5: ENV PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/sbin"
---> 73ab542794a5 で実行中
中間コンテナ 73ab542794a5 を削除
---> a6d791e7bd7c
ステップ 5/5: ENTRYPOINT [ "java", "-jar", "/app.jar" ]
---> e1704a59d50b で実行中
中間コンテナ e1704a59d50b を削除
---> 8ee7a6f5b53a
8ee7a6f5b53a を正常に構築しました
lin-test_last:latest のタグ付けに成功しました
セキュリティ警告: Windows から Windows 以外の Docker ホストに対して Docker イメージをビルドしています。ビルド コンテキストに追加されたすべてのファイルとディレクトリには、'-rwxr-xr-x' 権限が付与されます。機密ファイルとディレクトリの権限を再確認してリセットすることをお勧めします。

「docker scan」を使用してイメージに対してSnykテストを実行し、脆弱性を見つけて修正方法を学びます
サービス last のイメージは、まだ存在しなかったためビルドされました。このイメージを再構築するには、`docker-compose build` または `docker-compose up --build` を使用する必要があります。
lin-test_last_1 を作成しています...
lin-test_last_1 を作成しています...完了
「Compose: lin-test」が正常にデプロイされました。

IDEA を使用した WSL2 への Docker のデプロイに関するこの記事はこれで終わりです。IDEA を使用した WSL2 への Docker のデプロイの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker 経由で wsl の tar ファイルを作成する方法
  • Docker Desktop をインストールすると、エラー メッセージが表示されます: WSL 2 のインストールが完了していません (エラー メッセージを解決してください)
  • Windows 10にWSL2 Ubuntu20.04をインストールしてdocker環境を構築する方法
  • Windows 10 サブシステム Ubuntu (WSL) に Docker をインストールするチュートリアル (画像とテキスト付き)
  • Docker での WSL の構成と変更の問題について

<<:  aタグのhref属性とonclickイベントの比較

>>:  MySQLは1億のテストデータを素早く挿入します

推薦する

モバイルウェブサイトの開発に関するいくつかの結論

ウェブサイトのモバイル版には、少なくともいくつかの基本機能が必要です。 1. ページの適用性の問題:...

Ajax リクエストにおけるクロスドメイン問題の原因と解決策

目次1. クロスドメインはどのように形成されるのでしょうか? 2. クロスドメインの根本的な原因3....

WeChatアプレットのオーディオコンポーネントがiOSで再生できない問題の解決策

解決策:クリック イベントをオーディオ コンポーネントにバインドし、再生メソッドと一時停止メソッドを...

Windows に Docker と docker-compose スイートをインストールするための詳細なチュートリアル

目次導入ダウンロードしてインストールする設定docker-composeをインストールする導入Doc...

スクロール画像バーを実現するための CSS サンプルコード

一部の Web サイトでは、画像が連続的にスクロールしているのをよく見かけます。この効果は、CSS ...

Apache ポートに基づいて仮想ホストを作成する例

apache: ポートに基づいて仮想ホストを作成する仮想ホスト(a、b、c)の作成を例に挙げます1)...

Linux システムで Tomcat を自動的に起動するための設定方法の紹介

1. /etc/init.d ディレクトリに入ります: cd /etc/init.d 2. tomc...

MySQL 20 の高性能アーキテクチャ設計原則 (収集する価値あり)

オープンソース データベース アーキテクチャの設計原則01. 技術の選択最も使い慣れていて、最大限に...

MySQL 5.7 データベースのインストール手順の個人的な要約

1.mysql-5.7.19-winx64.zip(これは無料のインストールバージョンで、約318 ...

Nginxのアクセスボリューム制御の詳細な説明

目的リクエスト アクセス ボリュームを制御するための Nginx ngx_http_limit_co...

Linux ディスクのマウント、パーティション分割、容量拡張操作を実装する方法

基本概念操作の前に、まずいくつかの基本的な概念を理解する必要がありますディスクLinux システムで...

JSは要素のドラッグとプレースホルダー機能を実装します

このブログ投稿は、ブロガーが数日前に取り組んだプロジェクトで遭遇した困難についてです。これを学んだ後...

CSS はスクロールバーを非表示にしてコンテンツをスクロールする効果を実現します (3 つの方法)

フロントエンド開発では、スクロールバーを非表示にしながらスクロールをサポートしなければならないという...

CSS属性のマージンの理解について話す

1.マージンとは何ですか?マージンは、要素の周囲のスペースの間隔を制御するために使用され、視覚的にス...

分散監視システムにおけるZabbixのアクティブ、パッシブ、Web監視のプロセスの詳細な説明

前回の記事では、Zabbix のネットワーク検出機能について学習し、アクションと組み合わせてホストの...