現在の環境は次のとおりです。
1. まずcentos7.5.1804の基本イメージを使用して、動作に必要な環境をインストールします。 /appディレクトリに対応するファイルディレクトリを作成します [root@node2 /app/]# mkdir dockerfile/{web/{nginx,tomcat,jdk,apache},system/{centos,ubuntu,redhat}} -pv [root@node2 /app]# cd dockerfile/system/centos/ [root@node2 /app/dockerfile/system/centos]# mkdir centos-7.5-base [root@node2 /app/dockerfile/system/centos]# cd centos-7.5-base Dockerfileを作成する [root@node2 /app/dockerfile/system/centos/centos-7.5-base]#vim Dockerファイル #Nginx ベースイメージ Centos:7.5.1804 より ラベルは「mr.luo <[email protected]>」です 実行 yum install -y vim wget pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop dockerビルドスクリプトを作成し、直接実行する [root@node2 /app/dockerfile/system/centos/centos-7.5-base]#vim ビルドコマンド.sh #!/bin/bash ビルド 172.20.7.50/baseimages/centos-base:7.5.1804 を実行します。 スクリプトを実行して新しいイメージを作成します [root@node2 /app/dockerfile/system/centos/centos-7.5-base]#bash ビルドコマンド.sh ビルドコンテキストを Docker デーモンに送信 3.072kB ステップ 1/3: Centos:7.5.1804 から ---> 76d6bc25b8a5 ステップ 2/3: ラベル maintaier '[email protected]' ---> キャッシュの使用 ---> 05ccd970d71d ステップ 3/3: yum install -y vim wget pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop を実行します。 ---> キャッシュの使用 ---> 73d683a54877 73d683a54877 が正常に構築されました 172.20.7.50/baseimages/centos-base:7.5.1804 のタグ付けに成功しました 2. 準備した基本環境イメージを使用してjdkイメージを作成する centos-7.5-base を終了し、現在のディレクトリに jdk1.8 ディレクトリを作成します。 [root@node2 /app/dockerfile/system/centos/centos-7.5-base]# cd .. [root@node2 /app/dockerfile/system/centos]# mkdir jdk1.8 [root@node2 /app/dockerfile/system/centos]# cd jdk1.8/ Dockerfileを作成する [root@node2 /app/dockerfile/system/centos/jdk1.8]#vim Dockerファイル 172.20.7.50/baseimages/centos-base:7.5.1804 から LABEL 管理者 "mr.luo <[email protected]>" jdk-8u162-linux-x64.tar.gz /usr/local/src/ を追加します。 実行 ln -s /usr/local/src/jdk1.8.0_162/ /usr/local/jdk プロファイル /etc/profile を追加する 環境変数 JAVA_HOME /usr/local/jdk ENV JRE_HOME $JAVA_HOME/jre 環境変数クラスパス $JAVA_HOME/lib/:$JRE_HOME/lib/ 環境変数 PATH $PATH:$JAVA_HOME/bin 実行 rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone jdk パッケージを現在のディレクトリにアップロードします。 /etc/profileファイルを現在のディレクトリにコピーします [root@node2 /app/dockerfile/system/centos/jdk1.8]#cp プロファイル /etc/profile プロファイルの最後にJDK環境変数を追加します [root@node2 /app/dockerfile/system/centos/jdk1.8]#vim プロファイル JAVA_HOME=/usr/local/jdk をエクスポートします。 TOMCAT_HOME=/apps/tomcat をエクスポートします。 エクスポート PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATH エクスポート CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar docker build用のシェルスクリプトを作成する [root@node2 /app/dockerfile/system/centos/jdk1.8]#vim ビルドコマンド.sh #!/bin/bash # ビルド 172.20.7.50/baseimages/centos7.5-jdk:8.162 を実行します。 画像の作成を開始する [root@node2 /app/dockerfile/system/centos/jdk1.8]#bash ビルドコマンド.sh ビルド コンテキストを Docker デーモンに送信 189.8 MB ステップ 1/10: 172.20.7.50/baseimages/centos-base:7.5.1804 から ---> 73d683a54877 ステップ 2/10: LABEL メンテナー "mr.luo <[email protected]>" ---> 65604dd1f392 で実行中 中間コンテナ 65604dd1f392 を削除しています ---> c4720603ce38 ステップ 3/10: jdk-8u162-linux-x64.tar.gz /usr/local/src/ を追加します。 ---> bc98adffe1b4 ステップ 4/10: RUN ln -s /usr/local/src/jdk1.8.0_162/ /usr/local/jdk ---> df5a6f67f9fd で実行中 中間コンテナ df5a6f67f9fd を削除しています ---> 0ae1af0416c6 ステップ 5/10: プロファイル /etc/profile を追加する ---> eee23a69c0c8 ステップ 6/10: ENV JAVA_HOME /usr/local/jdk ---> edbef8563e83 で実行中 中間コンテナ edbef8563e83 を削除しています ---> 5f783f642054 ステップ 7/10: ENV JRE_HOME $JAVA_HOME/jre ---> fa0e5f08e732 で実行中 中間コンテナ fa0e5f08e732 を削除しています ---> 28a4d31463d4 ステップ 8/10: ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/ ---> 3c4ebb04ac62 で実行中 中間コンテナ 3c4ebb04ac62 を削除しています ---> 245f2dd82d52 ステップ 9/10: ENV PATH $PATH:$JAVA_HOME/bin ---> 4f5e6093f0a9 で実行中 中間コンテナ 4f5e6093f0a9 を削除しています ---> 5be0e6261eea ステップ 10/10: rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone を実行します。 ---> 52d8cb8463a8 で実行中 中間コンテナ 52d8cb8463a8 を削除しています ---> 9fb867ae8c39 9fb867ae8c39 の構築に成功しました 172.20.7.50/baseimages/centos7.5-jdk:8.162 のタグ付けに成功しました 現在のディレクトリ内のファイルを表示する [root@node2 /app/dockerfile/system/centos/jdk1.8]#ls build-command.sh Dockerfile jdk-8u162-linux-x64.tar.gz プロファイル 用意した画像が正常に使用できるか確認する [root@node2 /app/dockerfile/system/centos/jdk1.8]#docker run -it --rm 172.20.7.50/baseimages/centos7.5-jdk:8.162 bash [root@919844b164dc /]# java -バージョン Javaバージョン「1.8.0_162」 Java(TM) SE ランタイム環境 (ビルド 1.8.0_162-b12) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 25.162-b12、混合モード) [root@919844b164dc /]# 日付 2018年11月22日木曜日 21:17:49 CST [root@919844b164dc /]# 終了 出口 3. Tomcatイメージを作成する 以前に構築した/app/dockerfile/web/tomcatを入力し、tomcat-baseディレクトリを作成します。 [root@node2 ~]# cd /app/dockerfile/web/tomcat [root@node2 /app/dockerfile/web/tomcat]#mkdir tomcat-base Dockerfileを作成する [root@node2 /app/dockerfile/web/tomcat/tomcat-base]#vim Dockerfile 172.20.7.50/baseimages/centos7.5-jdk:8.162 から LABEL 管理者 "mr.luo <[email protected]>" mkdir /appsを実行します apache-tomcat-8.5.33.tar.gz /appsを追加します 実行 ln -s /apps/apache-tomcat-8.5.33 /apps/tomcat Dockerビルドスクリプトを作成する [root@node2 /app/dockerfile/web/tomcat/tomcat-base]#vim build-command.sh #!/bin/bash ビルド 172.20.7.50/baseimages/centos-tomcat:8.5.33 を実行します。 実行してイメージファイルを作成します: [root@node2 /app/dockerfile/web/tomcat/tomcat-base]#bash build-command.sh ビルド コンテキストを Docker デーモンに送信 9.625MB ステップ 1/5: 172.20.7.50/baseimages/centos7.5-jdk:8.162 から ---> 9fb867ae8c39 ステップ 2/5: LABEL メンテナー「mr.luo <[email protected]>」 ---> 9ce6fc4d2850 で実行中 中間コンテナ 9ce6fc4d2850 を削除しています ---> b68755061b28 ステップ3/5: mkdir /appsを実行する ---> b483c6b127f2 で実行中 中間コンテナ b483c6b127f2 を削除しています ---> 605c1a048a5f ステップ4/5: apache-tomcat-8.5.33.tar.gz /appsを追加します ---> 3c44f96ed41c ステップ 5/5: RUN ln -s /apps/apache-tomcat-8.5.33 /apps/tomcat ---> 4c1aa39a6c92 で実行中 中間コンテナ 4c1aa39a6c92 を削除 ---> 9b3bc4f58cc9 9b3bc4f58cc9 を正常に構築しました 172.20.7.50/baseimages/centos-tomcat:8.5.33 のタグ付けに成功しました 作成したイメージを使用してコンテナを起動し、正常に作成されたかどうかを確認します。起動時にポートを公開するために-pを追加し、物理マシンでテストします。 [root@node2 /app/dockerfile/web/tomcat/tomcat-base]#docker run -it -p 8802:8080 172.20.7.50/baseimages/centos-tomcat:8.5.33 bash [root@917b2c2262a3 /]# cd /apps/ [root@917b2c2262a3 アプリ]# ll 合計 0 drwxr-xr-x 9 ルート ルート 220 11月 22 22:08 apache-tomcat-8.5.33 lrwxrwxrwx 1 root root 26 Nov 22 22:08 tomcat -> /apps/apache-tomcat-8.5.33 [root@917b2c2262a3 アプリ]# ./tomcat/bin/catalina.sh 開始 CATALINA_BASE の使用: /apps/tomcat CATALINA_HOME の使用: /apps/tomcat CATALINA_TMPDIR の使用: /apps/tomcat/temp JRE_HOME の使用: /usr/local/jdk/jre CLASSPATH の使用: /apps/tomcat/bin/bootstrap.jar:/apps/tomcat/bin/tomcat-juli.jar Tomcatが起動しました。 クライアント側のブラウザでテストする 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQLのexecute、executeUpdate、executeQueryの違い
目次1. 背景2. バーチャルリストとは何か3. 関連概念の紹介4. 仮想リストの実装4.1 ドライ...
【1】<i></i>タグと<em></em>タグ同じ...
実際のプロジェクト開発プロセスでは、ページがサーバーにアップロードされます。サーバーへの負荷を軽減し...
社内の同僚は Nginx ログの標準出力、つまりコンソール経由の処理を必要としているため、まずログを...
この記事では、jQueryでカルーセルチャートを実装するための具体的なコードを参考までに共有します。...
目次導入1. 事例の概要2. 環境の展開3. Nginxホストのインストール4. Tomcatのイン...
あなたも私と同じように、コンピューターのファイルを整然と整理し、不要なファイルを適宜削除するプログラ...
環境: 1 CentOS Linux リリース 7.5.1804 (コア)ファイアウォールと sel...
ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...
目次1. 浅いコピーとはどういう意味ですか? 2. ディープコピーとはどういう意味ですか? 3. デ...
type はブラウザでの入力と出力に使用されるコントロールです (たとえば、type="t...
目次序文yumソース、epelソースを設定するCephソースの設定Cephとそのコンポーネントをイン...
インターネットは絶えず進化する有機体です。長期にわたってインターネットの発展に適応できるページを構築...
この記事では、2番目のキルカウントダウンコンポーネントを実装するためのVueの具体的なコードを参考ま...
CSS を記述するときに、デザインに存在する重要なケースを忘れてしまうことがあります。たとえば、コン...