ホームページ Java &#&チュートリアル Docker を使用して Java 環境を構築する方法

Docker を使用して Java 環境を構築する方法

May 11, 2023 pm 01:22 PM
java docker

docker は何をしますか?

Docker は、Linux コンテナ (lxc-linux コンテナ) をベースとした高度なコンテナ エンジンであり、Go 言語とソース コードに基づいて開発されています。 github でホストされており、apache2.0 プロトコルに準拠しており、オープンソースです。 docker の目標は、軽量のオペレーティング システム仮想化ソリューションを実装することです。

Docker を学習するには、まずいくつかの概念を理解する必要があります:

イメージ - Docker のイメージは一般的なシステム ISO イメージに似ており、アプリケーション情報が含まれています。

コンテナ - コンテナは実行可能な仮想マシンに相当します。アプリケーションはコンテナ内で実行され、docker は "docker" 上で実行されます。

ウェアハウス - ウェアハウスはイメージが保存される場所です, git と同様に、バージョン管理も 2 つの形式に分かれています: パブリック ウェアハウス (パブリック) とプライベート ウェアハウス (プライベート);

docker はほとんどの linux ディストリビューションをサポートします。docker コンテナーを使用すると、さまざまなオペレーティング システムで操作でき、ハードウェア、動作環境、その他の構成を気にすることなく、独自のアプリケーションを独自のマシン上で実行できるため、アプリケーションの移行が非常に簡単になります。

Docker と従来の仮想化テクノロジとの比較

従来の仮想マシン テクノロジと比較して、Docker は使用するリソースが少なく、起動が速いため、非常に便利です。導入と運用。


Docker はオペレーティング システム レベルで仮想化を実装し、ローカル ホストのオペレーティング システムを再利用します。従来の方法では、ハードウェアに基づいて複数のオペレーティング システムを仮想化し、関連するアプリケーションをデプロイします。

この図は、docker や vm などの従来の仮想化テクノロジの違いを鮮明に示しています:

vsDocker を使用して Java 環境を構築する方法Docker を使用して Java 環境を構築する方法

#準備

まず、centos オペレーティング システムを準備する必要があります。仮想マシンも使用できます。特定の構成要件は次のとおりです:


1. 64 ビット オペレーティング システムである必要があります

2. カーネルは 3.8

以降であることをお勧めします。 docker のインストール

次のコマンドを使用して docker ソフトウェアをインストールするだけです


yum -y install docker-io

次のコマンドを使用して、docker が正常にインストールされているかどうかを確認できます。
docker version

出力に docker のバージョン番号が表示される場合は、インストールが成功した後、次のコマンドを使用して docker サービスを開始できることを意味します:

service docker start

サービス コマンドを開始できない場合、次のコマンドを使用します

systemctl start docker.service

方法

ソフトウェアのインストールと同じように、まずソフトウェアを書き込んだ CD を用意する必要があります。仮想光学ドライブを使用している場合は、イメージ ファイルを準備し、それを使用してソフトウェアをインストールする必要があります。 docker の世界にはイメージ ファイルもあります。必要なオペレーティング システムがインストールされています。一般的にこれを docker イメージと呼びます。

ダウンロード イメージ

docker search <image>

Use docker pull imagename (ミラー名)ミラーをダウンロードするには

ダウンロードが完了したら、次のコマンドを使用してすべてのローカル ミラーを表示します:

docker images

ダウンロードが完了すると、次のメッセージが表示されます:

repository        tag         image id      created       virtual size
docker.io/centos   centos7       f753707788c5    12 days ago     127.1 mb

上記の出力が表示された場合は、「docker.cn/docker/centos」イメージを使用できるか、それをリポジトリと呼ぶことができることを意味します。イメージには「centos7」という名前のタグがあり、加えて「25c5298b1a36」という名前のイメージ ID (これはランダムに生成されるため、人によって見え方が異なります)

コンテナの開始

コンテナが開始されると、コンテナがイメージ内に表示されます、コンテナにログインし、必要なソフトウェアやアプリケーションをインストールできます。

すでに実行中の docker に入るために使用します

docker attach dabfb413d8cf[容器id]

次のコマンドを使用してコンテナを開始します:

docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 2a392a47afc5

docker run <関連パラメータ> <イメージ ID> ; <初期コマンド>

関連するパラメータは次のとおりです:

-i: コンテナを対話モードで実行することを示します

-t: コンテナがコマンドを入力することを示します

-v 開始後の行: どのローカル ディレクトリをコンテナにマウントする必要があるかを示します。形式は、-v<ホスト ディレクトリ>:<コンテナ ディレクトリ>

すべてのインストール プログラムであると仮定します。これはホストの /root/software/ ディレクトリに配置されますが、今度はコンテナの /mnt/software/ ディレクトリにマウントする必要があります。

これがすべて完了したら、このコンテナにソフトウェアをインストールできます。

docker ファイル転送コマンド

docker cp more.log e7de404c00bd:/tmp/ 

1f8787b81bcd

Java開発環境をインストール

jdk1.7、tomcat7、nginxをインストールする必要があり、パッケージをインストールします。ダウンロードするだけです。公式 Web サイトから入手します


1. jdk をインストールします

まず、jdk パッケージを解凍します:

tar -zxf jdk-7u71-linux-x64.tar.gz –c

それが rpm パッケージの場合

rpm –ivh jdk-7u71-linux-x64.tar.gz

then restart フォルダーに名前を付けます

mv jdk1.7.0_71/ jdk/

最後に環境変数を設定します

vi ~/.bashrc

次の設定をファイルの最後に追加します:

export java_home=/opt/jdk

export path=$path:$java_home

·/etc/profile を開きますテキスト エディタ


·プロファイル ファイルの最後に追加します:

export java_home=/usr/share/jdk1.6.0_14 
 export path=$java_home/bin:$path 
 export classpath=.:$java_home/lib/dt.jar:$java_home/lib/tools.jar

最後に、source コマンドを使用して環境変数を有効にします:

source ~/.bashrc

source /etc/profile

1. tomcat

のインストールについても同様で、tomcat パッケージを解凍します:

tar –zxf apache-tomcat-7.0.55.tar.gz

次に、tomcat ディレクトリの名前を変更します:

mv apache-tomcat-7.0.55/ tomcat/

実行スクリプトを作成します。コンテナで、Tomcat を起動するスクリプトを実行します。具体的なプロセスは次のとおりです:

vi /root/run.sh

次に、スクリプトの内容を次のように編集します:

#!/bin/bash

source ~/.bashrc

sh /opt/tomcat/bin/catalina.sh run

注意:这里必须先加载环境,然后使用tomcat的运行脚本来运行tomcat

最后,为运行脚本添加执行权限:

chmod u+x /root/run.sh

1.安装nginx

先去官网下载源码包注意要是gz的

下载地址

下载完后,解压安装包:

tar -zxvf nginx-1.11.5.tar.gz

然后再配置安装变量,打开解压后的目录-执行命令

cd nginx-1.11.5

配置安装环境

./configure --prefix=/usr/local/servers/nginx “/usr/local/servers/nginx”是安装路径

有可能会出现./configure: error: c compiler cc is not found

这时需要运行命令更新一下gcc

yum install gcc gcc-c++ ncurses-devel perl

yum -y install pcre-devel

yum -y install zlib-devel

yum -y install autoconf libtool make

在解压目录执行:

make

切换到root用户执行安装命令

make install

创建软链

ln –s /usr/local/servers/nginx/sbin/nginx /usr/local/bin/nginx

启动nginx服务

nginx

再用 ps -ef|grep nginx查看是否启动成功

提交docker镜像

首先退出你刚才配置好的docker镜像

exit

然后使用以下命令可以看到刚才退出的docker镜像

docker ps –a

再使用以下命令,根据某个”容器id”来创建一个新的”镜像”:

docker commit 57c312bbaad1 javaweb:0.1

该容器id是”57c312bbaad1”,所创建的镜像名是”javaweb”

注意:”57c312bbaad1” 这个id是使用 docker ps 命令来查看的

提交了新的镜像你可以把这个镜像储存tar包

docker  –o ~/javaweb.tar javaweb

docker save –o 保存的目录 镜像名

启动容器

先用 docker images看看当前所有的镜像

启动最新创建的镜像

docker run -d -p 80:80 --name javaweb javaweb:0.1 /root/run.sh

-d:表示以”守护模式”执行/root/run.sh脚本,此时tomcat控制台不会出现在输出终端上。

-p:表示宿主机与容器的端口映射,此时将容器内部的80端口映射为宿主机的 80端口,这样就向外界暴露了80端口,可通过docker网桥来访问容器内部的80端口了

--name:表示容器名称,用一个有意义的名称命名即可

以上がDocker を使用して Java 環境を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

エッジPDFビューアが機能していません エッジPDFビューアが機能していません Aug 07, 2025 pm 04:36 PM

testthepdfinanapptodetermineisisiis withthefileoredge.2.enablethebuiltinpdfviewerbyturningoff "Alwaysopenpdffilesexternally" and "downloadpdffiles" inedgesettings.3.Clearbrowsingdataincluding andcachedfilestororeveren

JavaにシンプルなTCPクライアントを実装する方法は? JavaにシンプルなTCPクライアントを実装する方法は? Aug 08, 2025 pm 03:56 PM

importjava.ioandjava.net.socketfori/oandsocketCommunication.2.CreateAsocketObjectToConnectTotheServerusingHostNameandport.3.USEPRINTWRITERTOSENDDATAVIAOUTSTREAMANDBUFFEREDEDEDEDEDEDEREDEREDERTOREADEREADSERVERRESPONSESSTREAM.

Dockerを使用してKubernetesにJavaアプリケーションを展開します Dockerを使用してKubernetesにJavaアプリケーションを展開します Aug 08, 2025 pm 02:45 PM

コンテナ化されたJavaアプリケーション:DockerFileを作成し、Eclipse-Temurin:17-jre-Alpineなどの基本的な画像を使用し、JARファイルをコピーしてスタートアップコマンドを定義し、DockerBuildを介して画像を作成し、Dockerrunでローカルに実行します。 2。画像をコンテナレジストリに押します:Dockertagを使用して画像をマークし、DockerHubやその他のレジストリにプッシュします。最初にdockerloginにログインする必要があります。 3. Kubernetesへの展開:展開を書き込み展開を定義し、レプリカの数、コンテナ画像、リソース制限の数を設定し、service.yamlを作成して作成して作成します

VSエクスプローラーパネルに焦点を当てるコードショートカット VSエクスプローラーパネルに焦点を当てるコードショートカット Aug 08, 2025 am 04:00 AM

VSCODEでは、ショートカットキーを介してパネルと編集領域をすばやく切り替えることができます。左のエクスプローラーパネルにジャンプするには、Ctrl Shift E(Windows/Linux)またはCMD Shift E(MAC)を使用します。編集エリアに戻って、Ctrl `またはescまたはctrl 1〜9を使用します。マウスの操作と比較して、キーボードのショートカットはより効率的であり、エンコードリズムを中断しません。その他のヒントには、ctrl kctrl eフォーカス検索ボックス、f2の名前変更ファイル、ファイルの削除、開いたファイルの入力、矢印キーの展開/崩壊フォルダー。

修正:Windowsアップデートはインストールに失敗しました 修正:Windowsアップデートはインストールに失敗しました Aug 08, 2025 pm 04:16 PM

runthewindowsupdateTroubleshoterviasettings> update&security> troubleShoottoAutoMonissues.2.resetwindowsupDateComponentsは、related -distributionandCatrot2Folders、restartingtherserviceStocleを削除します

Javaオブジェクトのシリアル化のプロセスは何ですか? Javaオブジェクトのシリアル化のプロセスは何ですか? Aug 08, 2025 pm 04:03 PM

JavaSerializationConvertSanobject'sStateIntoAbyTeStreamForStorageorTransmission、およびseRializationは、objectfromthatstream.1.1.toenablesimementtheRializable Interface.2.usobjectputStreamToseRializeAnobject、Savin

Javaで時間ループを使用する方法 Javaで時間ループを使用する方法 Aug 08, 2025 pm 04:04 PM

awhileloopinjavarepeatedecutesexecuteslongastheconditionistrue;

Python numpy線形代数の例 Python numpy線形代数の例 Aug 07, 2025 pm 04:52 PM

Numpyは、Pythonの科学コンピューティングのコアライブラリです。線形代数操作の取り扱いが得意であり、numpy.linalgモジュールで効率的なndarrayアレイと機能を提供します。 1. NP.LinalG.Solve(A、B)を使用して線形方程式システムax = bを解き、ソリューションベクトルXを取得します。 2。マトリックス転置はA.Tを介して実装されます。 3.マトリックス乗算は、np.dot(a、b)またはa@bに使用できます。 4.マトリックス逆はnp.linalg.inv(a)によって計算され、マトリックスは可逆的である必要があります。 5.決定要因は、np.linalg.det(a)によって与えられます。 6.固有値と固有ベクトルはnp.linalg.eig(a)を介して取得され、固有ベクトルは正規化されています。

See all articles