Rumah >Java >javaTutorial >Cara menggunakan Docker untuk membina persekitaran Java
Apakah yang dilakukan oleh docker?
Docker ialah enjin kontena termaju berdasarkan bekas linux (bekas lxc-linux), dibangunkan berdasarkan bahasa go dan kod sumber dihoskan pada github , mematuhi protokol apache2.0 dan sumber terbuka. Matlamat docker adalah untuk melaksanakan penyelesaian virtualisasi sistem pengendalian yang ringan.
Untuk mempelajari docker, anda mesti memahami beberapa konsep dahulu:
Imej—Imej Docker adalah serupa dengan imej ISO sistem biasa dan mengandungi maklumat aplikasi;
Kontena - Bekas adalah bersamaan dengan mesin maya yang boleh dijalankan Aplikasi berjalan dalam bekas dan docker berjalan pada "docker"; serupa dengan git Kawalan versi juga dibahagikan kepada dua bentuk: gudang awam (awam) dan gudang persendirian (swasta); docker menyokong kebanyakan pengedaran linux Dengan menggunakan bekas docker, anda boleh beroperasi pada sistem pengendalian yang berbeza dan berbeza Anda boleh menjalankan aplikasi anda sendiri pada mesin anda sendiri tanpa perlu risau tentang perkakasan, persekitaran operasi dan konfigurasi lain Perpindahan aplikasi menjadi sangat mudah.Perbandingan antara docker dan teknologi virtualisasi tradisional
Berbanding dengan teknologi mesin maya tradisional, docker mengambil lebih sedikit sumber dan bermula dengan lebih pantas, yang sangat mudah penempatan dan operasi.
Docker melaksanakan virtualisasi pada peringkat sistem pengendalian dan menggunakan semula sistem pengendalian hos tempatan Kaedah tradisional adalah untuk memayakan berbilang sistem pengendalian berdasarkan perkakasan dan kemudian menggunakan aplikasi yang berkaitan.
vs
Persediaan
Mula-mula anda perlu menyediakan sistem operasi centos, mesin maya juga boleh digunakan. Keperluan konfigurasi khusus adalah seperti berikut:
1 Mestilah sistem pengendalian 64-bit
2. Dicadangkan agar kernel 3.8 ke atas
Pasang docker
Anda hanya perlu menggunakan arahan berikut untuk memasang perisian docker
yum -y install docker-io
Anda boleh menggunakan arahan berikut untuk menyemak sama ada docker berjaya dipasang:
docker versionJika output menunjukkan nombor versi docker, ini bermakna Selepas pemasangan berjaya, anda boleh memulakan perkhidmatan docker melalui arahan berikut:
service docker start
Jika arahan perkhidmatan tidak boleh mulakan, gunakan yang berikut
systemctl start docker.service
Bagaimana untuk melakukannya
Sama seperti memasang perisian, kita perlu mempunyai CD terlebih dahulu dengan perisian yang dibakar padanya . Jika anda menggunakan pemacu optik maya, anda perlu menyediakan fail imej dan menggunakannya untuk memasang perisian. Dalam dunia docker, terdapat juga fail imej Sistem pengendalian yang kami perlukan telah dipasang. Kami biasanya memanggilnya imej docker
Muat turun imejdocker search <image>Gunakan nama imej docker (nama cermin. ) untuk memuat turun cerminSelepas muat turun selesai, gunakan arahan berikut untuk melihat semua cermin setempat:
docker imagesApabila muat turun selesai, anda seharusnya melihat:
repository tag image id created virtual size docker.io/centos centos7 f753707788c5 12 days ago 127.1 mb
Jika anda melihat output di atas, ini bermakna anda boleh menggunakan imej "docker.cn/docker/centos", atau memanggilnya sebagai repositori Imej mempunyai teg bernama "centos7", sebagai tambahan kepada There is id imej bernama "25c5298b1a36" (ini dijana secara rawak, jadi semua orang melihatnya secara berbeza)
Mulakan bekas
Bekas berada dalam imej Setelah bekas itu bermula, kita boleh log masuk ke bekas dan memasang perisian atau aplikasi yang kita perlukan.
Gunakan untuk memasukkan docker yang sudah berjalandocker attach dabfb413d8cf[容器id]Gunakan arahan berikut untuk memulakan bekas:
docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 2a392a47afc5
docker run
docker cp more.log e7de404c00bd:/tmp/ 1f8787b81bcd
Pasang persekitaran pembangunan java
Kita perlu memasang jdk1.7, tomcat7, nginx, pasang pakej Hanya muat turun ia daripada laman web rasmi
1. Pasang jdk
tar -zxf jdk-7u71-linux-x64.tar.gz –cJika ia adalah pakej rpm
rpm –ivh jdk-7u71-linux-x64.tar.gzdan kemudian mulakan semula Namakan folder
mv jdk1.7.0_71/ jdk/Akhirnya konfigurasikan pembolehubah persekitaran
vi ~/.bashrcTambah konfigurasi berikut pada penghujung fail:
export java_home=/opt/jdk export path=$path:$java_home·Buka /etc/profile dengan editor teks
·Tambah di hujung fail profil:
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
Akhir sekali gunakan arahan sumber untuk menjadikan pembolehubah persekitaran berkuat kuasa:
source ~/.bashrc source /etc/profile1. Perkara yang sama berlaku untuk memasang tomcat , nyahmampat pakej tomcat:
tar –zxf apache-tomcat-7.0.55.tar.gzdan kemudian menamakan semula direktori tomcat:
rreee
Tulis skrip berjalan mulakan bekas, jalankan skrip untuk memulakan tomcat Proses khusus adalah seperti berikut:
mv apache-tomcat-7.0.55/ tomcat/Kemudian, edit skrip seperti berikut:
#!/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:表示容器名称,用一个有意义的名称命名即可
Atas ialah kandungan terperinci Cara menggunakan Docker untuk membina persekitaran Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!