docker Java Web実行環境の最小化
4844 ワード
まずjdkとjreが作ったミラーを見てみましょう.違いは普通の大きさではありません.基礎ミラーを1つ差して、お客様が自分で1つ選択すればいいです.
REPOSITORY TAG IMAGE ID CREATED SIZE
datong/tomcat 1.1 1cc76fadca66 4 seconds ago 365 MB
datong/tomcat 1.0 9e2a8f6f7176 19 hours ago 595 MB
ベースミラーはcentos公式ミラー200 MB
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest 5182e96772bf 5 weeks ago 200 MB
jre:http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html
tomcat:https://tomcat.apache.org/download-80.cgi#8.5.34
2.サーバへのファイルのアップロード
サーバの新規ディレクトリ
cd root
mkdir software
ファイルをサーバにアップロード(パスワードを入力する必要がある場合はサーバrootユーザーパスワードを入力)
scp jdk-8u181-linux-x64.tar.gz [email protected]:/root/software
scp server-jre-8u181-linux-x64.tar.gz [email protected]:/root/software
scp apache-tomcat-8.5.33.tar.gz [email protected]:/root/software
3.ミラーをダウンロード(dockerがインストールされていると仮定)
docker pull centos
4.ミラーの表示
docker images
docker.io/centos latest 5182e96772bf 5 weeks ago 200 MB
centosミラーが既に存在することを発見
5.centosミラーに基づいてコンテナを実行する
docker run -it --name my_tomcat --hostname datong -v /root/software/:/mnt/software/ centos bash
すなわち,/root/software/は本来の仮想マシンの実ディレクトリであり,対応するコンテナ内のディレクトリは:/mnt/software/である.
では、仮想マシンに/root/software/に格納されているファイル情報は、コンテナの/mnt/software/に対応してファイル情報が表示されます.
6.jdk-1.8またはjre-1.8のインストール
コマンド#コマンド#
tar -zxvf jdk-8u181-linux-x64.tar.gz
tar -zxvf server-jre-8u181-linux-x64.tar.gz
解凍したフォルダをjavaと改名して/optディレクトリに移動
cp -r jdk1.8.0_181/ /opt/java
環境変数の設定(jdkはjreと同じ)
vi /etc/profile
最後に加わる
export JAVA_HOME=/opt/java
export JRE_HOME=/opt/java/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib
構成を有効にする
source /etc/profile
7.tomcat-8.5.33のインストール
コマンド#コマンド#
tar -zxvf apache-tomcat-8.5.33.tar.gz
名前を変更/optディレクトリに移動して環境変数を設定
vi /etc/profile
最後に加わる
CATALINA_HOME=/opt/tomcat
export CATALINA_HOME
構成を有効にする
source /etc/profile
8.コンテナ実行スクリプトの作成
コンテナを起動すると、そのスクリプトを実行し、/root/run.shなどのTomcatを起動ファイルとして起動する実行スクリプトを作成する必要があります.具体的な手順は次のとおりです.
スクリプトの作成:
vi /root/run.sh
スクリプトを編集し、次の内容を書き込んで保存します.
#!/bin/bash
source /etc/profile
sh /opt/tomcat/bin/catalina.sh run
なぜstartup.shを使わないのかと聞かれるかもしれませんが、実はstartup.shのソースコードはcatalina.sh startを実行しています.
実行スクリプトに実行権限を追加するには、次の手順に従います.
chmod u+x /root/run.sh
最後にコンテナを終了し、exitコマンドでいいです.
9.jdkとtomcatをインストールしたコンテナに基づいてミラーを作成する
実行中のコンテナの表示
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
31f4199cf0fa centos "bash" 3 hours ago Up 2 hours my_tomcat
構成されたコンテナを使用してミラーを作成
docker commit my_tomcat datong/tomcat:1.0
sha256:8077e4aa6e613f3a26b55d4f589d4b312def902fa80d9c03acf91b233c2ac381
シーケンスIDが自動的に返され、生成に成功したことを識別します.docker imagesのコマンドですべてのミラーを表示します.
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
datong/tomcat 1.0 8077e4aa6e61 5 seconds ago 601 MB
このとき、最新に作成されたミラー「datong/tomcat」が表示され、バージョンラベル情報は1.0、ミラーIDは:8077 e 4 aa 6 e 61
10.ミラーベースでコンテナを実行する
docker run -d -p 8080:8080 --name my_tomcat1 --hostname datong datong/tomcat:1.0 /root/run.sh
起動後、サーバip:8080ポートからtomcatサービスにアクセスできます.
参考資料:https://blog.csdn.net/smartdt/article/details/77530286