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

DockerでJava環境を構築する方法

PHPz
PHPz転載
2023-05-23 16:52:061703ブラウズ

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

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

-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 サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。