Cara menggunakan Dockerfile untuk mencipta imej persekitaran berjalan java
Persekitaran semasa yang digunakan ialah:
centos 7.5
docker-ce 18.06.1-ce
1. Mula-mula gunakan imej asas centos7.5.1804 untuk memasang beberapa persekitaran yang diperlukan untuk operasi
Buat direktori fail yang sepadan dalam direktori /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
Buat fail docker
[root@node2 /app/dockerfile/system/centos/centos-7.5-base]#vim dockerfile #nginx base image from centos:7.5.1804 label maintaier "mr.luo <mr.luo@dklwj.com>" run yum install -y vim wget pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop
Buat skrip binaan docker langsung dan kemudian laksanakan skrip terus
[root@node2 /app/dockerfile/system/centos/centos-7.5-base]#vim build-command.sh #!/bin/bash docker build -t 172.20.7.50/baseimages/centos-base:7.5.1804 .
Laksanakan skrip untuk mencipta imej baharu
[root@node2 /app/dockerfile/system/centos/centos-7.5-base]#bash build-command.sh sending build context to docker daemon 3.072kb step 1/3 : from centos:7.5.1804 ---> 76d6bc25b8a5 step 2/3 : label maintaier 'mr.luo@dklwj.com' ---> using cache ---> 05ccd970d71d step 3/3 : run yum install -y vim wget pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop ---> using cache ---> 73d683a54877 successfully built 73d683a54877 successfully tagged 172.20.7.50/baseimages/centos-base:7.5.1804
2. Gunakan imej persekitaran asas yang disediakan untuk membuat imej jdk
Keluar dari centos-7.5-base dan buat direktori jdk1.8 dalam direktori semasa.
[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/
Buat fail docker
[root@node2 /app/dockerfile/system/centos/jdk1.8]#vim dockerfile from 172.20.7.50/baseimages/centos-base:7.5.1804 label maintainer "mr.luo <mr.luo@dklwj.com>" add jdk-8u162-linux-x64.tar.gz /usr/local/src/ run ln -s /usr/local/src/jdk1.8.0_162/ /usr/local/jdk add profile /etc/profile env java_home /usr/local/jdk env jre_home $java_home/jre env classpath $java_home/lib/:$jre_home/lib/ env path $path:$java_home/bin run rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/asia/shanghai /etc/localtime && echo "asia/shanghai" > /etc/timezone
Muat naik pakej jdk ke direktori semasa:
Salin fail /etc/profile ke direktori semasa
[root@node2 /app/dockerfile/system/centos/jdk1.8]#cp profile /etc/profile
Tambah jdk pada penghujung profil Pembolehubah persekitaran
[root@node2 /app/dockerfile/system/centos/jdk1.8]#vim profile export java_home=/usr/local/jdk export tomcat_home=/apps/tomcat export path=$java_home/bin:$java_home/jre/bin:$tomcat_home/bin:$path export classpath=.$classpath:$java_home/lib:$java_home/jre/lib:$java_home/lib/tools.jar
Buat skrip shell binaan docker
[root@node2 /app/dockerfile/system/centos/jdk1.8]#vim build-command.sh #!/bin/bash # docker build -t 172.20.7.50/baseimages/centos7.5-jdk:8.162 .
Mula buat imej
[root@node2 /app/dockerfile/system/centos/jdk1.8]#bash build-command.sh sending build context to docker daemon 189.8mb step 1/10 : from 172.20.7.50/baseimages/centos-base:7.5.1804 ---> 73d683a54877 step 2/10 : label maintainer "mr.luo <mr.luo@dklwj.com>" ---> running in 65604dd1f392 removing intermediate container 65604dd1f392 ---> c4720603ce38 step 3/10 : add jdk-8u162-linux-x64.tar.gz /usr/local/src/ ---> bc98adffe1b4 step 4/10 : run ln -s /usr/local/src/jdk1.8.0_162/ /usr/local/jdk ---> running in df5a6f67f9fd removing intermediate container df5a6f67f9fd ---> 0ae1af0416c6 step 5/10 : add profile /etc/profile ---> eee23a69c0c8 step 6/10 : env java_home /usr/local/jdk ---> running in edbef8563e83 removing intermediate container edbef8563e83 ---> 5f783f642054 step 7/10 : env jre_home $java_home/jre ---> running in fa0e5f08e732 removing intermediate container fa0e5f08e732 ---> 28a4d31463d4 step 8/10 : env classpath $java_home/lib/:$jre_home/lib/ ---> running in 3c4ebb04ac62 removing intermediate container 3c4ebb04ac62 ---> 245f2dd82d52 step 9/10 : env path $path:$java_home/bin ---> running in 4f5e6093f0a9 removing intermediate container 4f5e6093f0a9 ---> 5be0e6261eea step 10/10 : run rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/asia/shanghai /etc/localtime && echo "asia/shanghai" > /etc/timezone ---> running in 52d8cb8463a8 removing intermediate container 52d8cb8463a8 ---> 9fb867ae8c39 successfully built 9fb867ae8c39 successfully tagged 172.20.7.50/baseimages/centos7.5-jdk:8.162
Lihat fail dalam direktori semasa
[root@node2 /app/dockerfile/system/centos/jdk1.8]#ls build-command.sh dockerfile jdk-8u162-linux-x64.tar.gz profile
Semak imej yang dibuat Bolehkah ia digunakan seperti biasa? buat direktori tomcat -base
[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 -version java version "1.8.0_162" java(tm) se runtime environment (build 1.8.0_162-b12) java hotspot(tm) 64-bit server vm (build 25.162-b12, mixed mode) [root@919844b164dc /]# date thu nov 22 21:17:49 cst 2018 [root@919844b164dc /]# exit exit
Buat fail docker[root@node2 ~]# cd /app/dockerfile/web/tomcat
[root@node2 /app/dockerfile/web/tomcat]#mkdir tomcat-base
[root@node2 /app/dockerfile/web/tomcat/tomcat-base]#vim dockerfile from 172.20.7.50/baseimages/centos7.5-jdk:8.162 label maintainer "mr.luo <mr.luo@dklwj.com>" run mkdir /apps add apache-tomcat-8.5.33.tar.gz /apps run ln -s /apps/apache-tomcat-8.5.33 /apps/tomcat
[root@node2 /app/dockerfile/web/tomcat/tomcat-base]#vim build-command.sh #!/bin/bash docker build -t 172.20.7.50/baseimages/centos-tomcat:8.5.33 .
[root@node2 /app/dockerfile/web/tomcat/tomcat-base]#bash build-command.sh sending build context to docker daemon 9.625mb step 1/5 : from 172.20.7.50/baseimages/centos7.5-jdk:8.162 ---> 9fb867ae8c39 step 2/5 : label maintainer "mr.luo <mr.luo@dklwj.com>" ---> running in 9ce6fc4d2850 removing intermediate container 9ce6fc4d2850 ---> b68755061b28 step 3/5 : run mkdir /apps ---> running in b483c6b127f2 removing intermediate container b483c6b127f2 ---> 605c1a048a5f step 4/5 : add apache-tomcat-8.5.33.tar.gz /apps ---> 3c44f96ed41c step 5/5 : run ln -s /apps/apache-tomcat-8.5.33 /apps/tomcat ---> running in 4c1aa39a6c92 removing intermediate container 4c1aa39a6c92 ---> 9b3bc4f58cc9 successfully built 9b3bc4f58cc9 successfully tagged 172.20.7.50/baseimages/centos-tomcat:8.5.33
Atas ialah kandungan terperinci Cara menggunakan Dockerfile untuk mencipta imej persekitaran berjalan java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

Java ialah bahasa pengaturcaraan popular yang boleh dipelajari oleh pembangun pemula dan berpengalaman. Tutorial ini bermula dengan konsep asas dan diteruskan melalui topik lanjutan. Selepas memasang Kit Pembangunan Java, anda boleh berlatih pengaturcaraan dengan mencipta program "Hello, World!" Selepas anda memahami kod, gunakan gesaan arahan untuk menyusun dan menjalankan program, dan "Hello, World!" Pembelajaran Java memulakan perjalanan pengaturcaraan anda, dan apabila penguasaan anda semakin mendalam, anda boleh mencipta aplikasi yang lebih kompleks.
