Docker构建JAVA环境镜像1\需要提前下载软件包jdk和tomcat[root@docker-master~]#vimDock erfile-JavaFROMcentos:6MAINTAINERgujiworkADDjdk-8u151-linux-x6 4.tar.gz/usr/localENVJAVA_HOME/usr/local/jdk1.8.0_151ADDapach e-tomcat-7.0.82.tar.gz/usr/localWORKDIR/usr/local/apache-tomcat -7.0.82ENTRYPOINT["bin/catalina.sh","run"]#暴露8080端口EXPOSE80802\ 执行build之后便开始构建成镜像[root@docker-master~]#dockerbuild-ttomcat:v 1-f./Dockerfile-Java.SendingbuildcontexttoDockerdaemon 3.045GBStep1/8:FROMcentos:66:Pullingfromlibrary/centos9bfc efca2b8d:PullcompleteDigest:sha256:573923afbed3faf8000ad6eb333 ebeb1d46e753d3ae23a6f59b528c7e1531747Status:Downloadednewerima geforcentos:6--->0cbf37812bffStep2/8:MAINTAINERgujiwork- -->Runningin2205a6b1c70d--->807741f8ef42Removingintermediat econtainer2205a6b1c70dStep3/8:ADDjdk-8u151-linux-x64.tar.gz /usr/local--->617e8b4fa97dStep4/8:ENVJAVA_HOME/usr/local/ jdk1.8.0_151--->Runningindeded76bd1f4--->bfe5b16b5dfbRemovi ngintermediatecontainerdeded76bd1f4Step5/8:ADDapache-tomca t-7.0.82.tar.gz/usr/local--->ad01015a58f5Step6/8:WORKDIR/u sr/local/tomcat--->70c90ddeb127Removingintermediatecontainer 385c8cafef5bStep7/8:ENTRYPOINTbin/catalina.shrun--->Runnin ginfb186dfb8068--->0c9299e34658Removingintermediatecontaine rfb186dfb8068Step8/8:EXPOSE8080--->Runningin44161cdc051b --->b0ca287e65baRemovingintermediatecontainer44161cdc051bSuc cessfullybuiltb0ca287e65baSuccessfullytaggedtomcat:v13\可通过doc kerimages查看构建的镜像[root@docker-master~]#dockerimagesREPOSITORY TAGIMAGEIDCREATED SIZEtomcatv1b0ca287e65ba2min utesago592MBnginxlatest568c4670fa802weeksago109 MBcentos60cbf37812bff2monthsago194MBcentoslatest 3fa822599e1012monthsago204MB4\启动dockertomcat容器,使用宿主机IP访问页面进行测 试.[root@docker-master~]#dockerrun-itd--nameweb01-p80:8080 tomcat:v12c4d214c8ce9aef03409d7e02a43ed10247480de22c3b9d9c31b4e8 d73eca45f[root@docker-master~]#dockerpsCONTAINERIDIMA GECOMMANDCREATEDSTAT USPORTSNAMES2c4d214c8ce9tomcat:v1 "bin/catalina.shrun"29secondsagoUp27seconds0.0.0.0:80 ->8080/tcpweb01#查看本机网卡IP地址[root@docker-master~]#ifconfige ns33ens33:flags=4163mtu1500in et172.18.18.10netmask255.255.255.0broadcast172.18.18.255ine t6fe80::20c:29ff:fe80:de01prefixlen64scopeid0x20r00:0c:29:80:de:01txqueuelen1000(Ethernet)RXpackets55747b ytes72954144(69.5MiB)RXerrors0dropped0overruns0frame0 TXpackets30192bytes2373785(2.2MiB)TXerrors0dropped0o verruns0carrier0collisions05\配置开启SSH远程登录,方便测试及开发进行相关的排错查看[ro ot@docker-master~]#vimDockerfile-Java-sshFROMcentos:6MAINTAIN ERgujiworkENVJAVA_HOME/usr/local/jdk1.8.0_151ENVROOT_PASSWORD 123456ADDjdk-8u151-linux-x64.tar.gz/usr/localADDapache-tomcat -7.0.82.tar.gz/usr/localCOPY./start.sh/usr/local/start.shRUNy uminstall-yopenssh-server&&\echo$ROOT_PASSWORD|passwd--s tdinroot&&\ssh-keygen-tdsa-f/etc/ssh/ssh_host_dsa_key&& \ssh-keygen-trsa-f/etc/ssh/ssh_host_rsa_key&&\echo''UseDN Sno''>>/etc/ssh/sshd_config&&\sed-i-e''/pam_loginuid.so/d'' /etc/pam.d/sshd&&\chmod+x/usr/local/start.sh&&\www.gw828. comrm-rf/usr/local/apache-tomcat-7.0.82.tar.gzWORKDIR/usr/loc al/apache-tomcat-7.0.82ENTRYPOINT["/usr/local/start.sh","run"]#暴 露8080和22端口EXPOSE8080EXPOSE226\start.sh脚本,用于启动容器内的多个服务[root@dock er-master~]#vimstart.sh#!/bin/bashTomcatDir="/usr/local/apache -tomcat-7.0.82"cd$TomcatDir;./bin/startup.sh/usr/sbin/sshd-Dt ail-f/var/log/7\重新构建镜像,tag标记为tomcat:v2[root@docker-master~]# dockerbuild-ttomcat:v2-fDockerfile-Java-ssh.Sendingbuildc ontexttoDockerdaemon3.045GBStep1/15:FROMcentos:6--->0c bf37812bffStep2/15:MAINTAINERgujiwork--->Usingcache--->8 07741f8ef42Step3/15:ENVROOT_PASSWORD123456--->Runninginb 01f3ce7ae37--->47ec926ccf9cRemovingintermediatecontainerb01f 3ce7ae37Step4/15:ADDjdk-8u151-linux-x64.tar.gz/usr/local--- >33bb1bfe21ceStep5/15:ENVJAVA_HOME/usr/local/jdk1.8.0_151- -->Runningin53d4f20f8a3e--->4589c805fe03Removingintermediat econtainer53d4f20f8a3eStep6/15:ADDapache-tomcat-7.0.82.tar. gz/usr/local--->2b9b81efe22cStep7/15:WORKDIR/usr/local/apa che-tomcat-7.0.82--->4e0132cba433Removingintermediatecontaine rd3629c03c293Step8/15:ENTRYPOINTbin/catalina.shrun--->Run ningin3149b8be9f3e--->4a0d49525705Removingintermediateconta iner3149b8be9f3eStep9/15:RUNyuminstall-yopenssh-server-- ->Runningin54d1c22da719Loadedplugins:fastestmirror,ovlSetti ngupInstallProcesshttp://mirrors.njupt.edu.cn/centos/6.10/upda tes/x86_64/repodata/e38a3ccfa43be7ce9c19045799166dc3424cba6ca0f49 b19d4c1b48707e7597f-primary.sqlite.bz2:[Errno14]PYCURLERROR7 -"couldn''tconnecttohost"Tryingothermirror.ResolvingDepende ncies-->Runningtransactioncheck--->Packageopenssh-server.x86 _640:5.3p1-123.el6_9willbeinstalled-->ProcessingDependency: openssh=5.3p1-123.el6_9forpackage:openssh-server-5.3p1-123. el6_9.x86_64-->ProcessingDependency:/sbin/serviceforpackage: openssh-server-5.3p1-123.el6_9.x86_64-->ProcessingDependency: libwrap.so.0()(64bit)forpackage:openssh-server-5.3p1-123.el6_9 .x86_64-->ProcessingDependency:libfipscheck.so.1()(64bit)for package:openssh-server-5.3p1-123.el6_9.x86_64-->Runningtransac tioncheck--->Packagefipscheck-lib.x86_640:1.2.0-7.el6willbe installed-->ProcessingDependency:/usr/bin/fipscheckforpacka ge:fipscheck-lib-1.2.0-7.el6.x86_64--->Packageinitscripts.x86_ 640:9.03.61-1.el6.centoswillbeinstalled-->ProcessingDepende ncy:util-linux-ng>=2.16forpackage:initscripts-9.03.61-1.el6 .centos.x86_64-->ProcessingDependency:upstart>=0.6.5-11for package:initscripts-9.03.61-1.el6.centos.x86_64-->ProcessingDe pendency:udev>=125-1forpackage:initscripts-9.03.61-1.el6.ce ntos.x86_64-->ProcessingDependency:sysvinit-tools>=2.87-6fo rpackage:initscripts-9.03.61-1.el6.centos.x86_64-->Processing Dependency:plymouthforpackage:initscripts-9.03.61-1.el6.cento s.x86_64-->ProcessingDependency:/sbin/pidofforpackage:inits cripts-9.03.61-1.el6.centos.x86_64-->ProcessingDependency:/sbi n/ipforpackage:initscripts-9.03.61-1.el6.centos.x86_64-->Proc essingDependency:/sbin/blkidforpackage:initscripts-9.03.61-1 .el6.centos.x86_64-->ProcessingDependency:/sbin/arpingforpac kage:initscripts-9.03.61-1.el6.centos.x86_64--->Packageopenssh .x86_640:5.3p1-123.el6_9willbeinstalled--->Packagetcp_wrapp ers-libs.x86_640:7.6-58.el6willbeinstalled-->Runningtransac tioncheck--->Packagefipscheck.x86_640:1.2.0-7.el6willbeins talled--->Packageiproute.x86_640:2.6.32-57.el6willbeinstall ed-->ProcessingDependency:iptables>=1.4.5forpackage:iprou te-2.6.32-57.el6.x86_64-->ProcessingDependency:libxtables.so.4 ()(64bit)forpackage:iproute-2.6.32-57.el6.x86_64--->Packagei putils.x86_640:20071127-24.el6willbeinstalled--->Packageply mouth.x86_640:0.8.3-29.el6.centoswillbeinstalled-->Processin gDependency:system-logosforpackage:plymouth-0.8.3-29.el6.cen tos.x86_64-->ProcessingDependency:libdrm_radeon.so.1()(64bit) forpackage:plymouth-0.8.3-29.el6.centos.x86_64-->ProcessingDe pendency:libdrm_nouveau.so.1()(64bit)forpackage:plymouth-0.8. 3-29.el6.centos.x86_64-->ProcessingDependency:libdrm_intel.so. 1()(64bit)forpackage:plymouth-0.8.3-29.el6.centos.x86_64-->Pr ocessingDependency:libdrm.so.2()(64bit)forpackage:plymouth-0 .8.3-29.el6.centos.x86_64--->Packagesysvinit-tools.x86_640:2.8 7-6.dsf.el6willbeinstalled--->Packageudev.x86_640:147-2.73. el6_8.2willbeinstalled-->ProcessingDependency:hwdataforpa ckage:udev-147-2.73.el6_8.2.x86_64--->Packageupstart.x86_640: 0.6.5-17.el6willbeinstalled--->Packageutil-linux-ng.x86_640 :2.17.2-12.28.el6_9.2willbeinstalled-->Runningtransactionch eck--->Packagehwdata.noarch0:0.233-20.1.el6willbeinstalled- -->Packageiptables.x86_640:1.4.7-19.el6willbeinstalled-->P rocessingDependency:policycoreutilsforpackage:iptables-1.4.7 -19.el6.x86_64--->Packagelibdrm.x86_640:2.4.65-2.el6willbei nstalled-->ProcessingDependency:libpciaccess.so.0()(64bit)for package:libdrm-2.4.65-2.el6.x86_64--->Packageredhat-logos.noa rch0:60.0.14-12.el6.centoswillbeinstalled-->Runningtransact ioncheck--->Packagelibpciaccess.x86_640:0.13.4-1.el6willbe installed--->Packagepolicycoreutils.x86_640:2.0.83-30.1.el6_8 willbeinstalled-->ProcessingDependency:libdbus-glib-1.so.2() (64bit)forpackage:policycoreutils-2.0.83-30.1.el6_8.x86_64--> Runningtransactioncheck--->Packagedbus-glib.x86_640:0.86-6.e l6willbeinstalled-->FinishedDependencyResolutionwww.letaoq pyx.comDependenciesResolved===================================== ===========================================Package ArchVersionRepositorySize======== ================================================================= =======Installing:openssh-serverx86_645.3p1-123.e l6_9base329kInstallingfordependencies:dbus -glibx86_640.86-6.el6base 170kfipscheckx86_641.2.0-7.el6 base14kfipscheck-libx86_641.2.0- 7.el6base8.3khwdatanoar ch0.233-20.1.el6base1.4Minitscripts x86_649.03.61-1.el6.centosbase949k iproutex86_642.6.32-57.el6b ase386kiptablesx86_641.4.7-19.el6 base255kiputilsx86_642 0071127-24.el6base121klibdrm x86_642.4.65-2.el6base136klibpciac cessx86_640.13.4-1.el6base 24kopensshx86_645.3p1-123.el6_9 base277kplymouthx86_640.8.3-29.e l6.centosbase89kpolicycoreutilsx86_64 2.0.83-30.1.el6_8base663kredhat-logos noarch60.0.14-12.el6.centosbase15Msys vinit-toolsx86_642.87-6.dsf.el6base 60ktcp_wrappers-libsx86_647.6-58.el6 base62kudevx86_64147-2 .73.el6_8.2base358kupstartx86 _640.6.5-17.el6base177kutil-linux-n gx86_642.17.2-12.28.el6_9.2base1.6 MTransactionSummary============================================= ===================================Install20Package(s)Tota ldownloadsize:21MInstalledsize:42MDownloadingPackages:--- ----------------------------------------------------------------- ------------Total7.3M B/s|21MB00:02Retrievingkeyfromfile:///etc/pki/rpm-gpg /RPM-GPG-KEY-CentOS-6warning:rpmts_HdrFromFdno:HeaderV3RSA/SH A1Signature,keyIDc105b9de:NOKEYImportingGPGkey0xC105B9DE: Userid:CentOS-6Key(CentOS6OfficialSigningKey)key@centos.org>Package:centos-release-6-10.el6.centos.12.3.x86_ 64(@CentOS/6.10)From:/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6R unningrpm_check_debugRunningTransactionTestTransactionTestSu cceededRunningTransactionInstalling:sysvinit-tools-2.87-6.dsf .el6.x86_641/20Installing:hwdata-0.233 -20.1.el6.noarch2/20Installing: libpciaccess-0.13.4-1.el6.x86_643/20 Installing:fipscheck-lib-1.2.0-7.el6.x86_64 4/20Installing:fipscheck-1.2.0-7.el6.x86_64 5/20Installing:dbus-glib-0.86-6.el6.x86_ 646/20Installing:redhat-logos -60.0.14-12.el6.centos.noarch7/20Installing: upstart-0.6.5-17.el6.x86_648/20 Installing:policycoreutils-2.0.83-30.1.el6_8.x86_64 9/20Installing:iptables-1.4.7-19.el6.x86_64 10/20Installing:iproute-2.6.32-57.el6.x86 _6411/20Installing:libdrm-2.4.6 5-2.el6.x86_6412/20Installing: iputils-20071127-24.el6.x86_6413/20 Installing:plymouth-0.8.3-29.el6.centos.x86_64 14/20Installing:util-linux-ng-2.17.2-12.28.el6_9.2.x86 _6415/20install-info:Nosuchfileordirectory for/usr/share/info/ipc.infoInstalling:initscripts-9.03.61-1. el6.centos.x86_6416/20Installing:udev-147- 2.73.el6_8.2.x86_6417/20Installin g:openssh-5.3p1-123.el6_9.x86_6418 /20Installing:tcp_wrappers-libs-7.6-58.el6.x86_64 19/20Installing:openssh-server-5.3p1-123.el6_9.x86_ 6420/20Verifying:plymouth-0.8.3-29.el6. centos.x86_641/20Verifying:tcp_wrapp ers-libs-7.6-58.el6.x86_642/20Verifying :policycoreutils-2.0.83-30.1.el6_8.x86_643 /20Verifying:fipscheck-1.2.0-7.el6.x86_64 4/20Verifying:upstart-0.6.5-17.el6.x86_64 5/20Verifying:redhat-logos-60.0.14-1 2.el6.centos.noarch6/20Verifying:udev-147- 2.73.el6_8.2.x86_647/20Verifying :initscripts-9.03.61-1.el6.centos.x86_648 /20Verifying:iptables-1.4.7-19.el6.x86_64 9/20Verifying:openssh-5.3p1-123.el6_9.x86_64 10/20Verifying:hwdata-0.233-20.1.el6. noarch11/20Verifying:sysvinit- tools-2.87-6.dsf.el6.x86_6412/20Verifying :util-linux-ng-2.17.2-12.28.el6_9.2.x86_6413 /20Verifying:iputils-20071127-24.el6.x86_64 14/20Verifying:libdrm-2.4.65-2.el6.x86_64 15/20Verifying:dbus-glib-0.86-6.el6.x 86_6416/20Verifying:libpciacc ess-0.13.4-1.el6.x86_6417/20Verifying :openssh-server-5.3p1-123.el6_9.x86_6418 /20Verifying:iproute-2.6.32-57.el6.x86_64 19/20Verifying:fipscheck-lib-1.2.0-7.el6.x86_64 20/20Installed:openssh-server.x86_640:5 .3p1-123.el6_9DependencyInstalled:dbus-glib.x86_640:0.86-6.el6 fipscheck.x86_640:1.2.0-7.el6fipscheck-lib.x86_640:1.2.0-7.el 6hwdata.noarch0:0.233-20.1.el6initscripts.x86_640:9.03.61-1.e l6.centosiproute.x86_640:2.6.32-57.el6iptables.x86_640:1.4.7- 19.el6iputils.x86_640:20071127-24.el6libdrm.x86_640:2.4.65-2. el6libpciaccess.x86_640:0.13.4-1.el6openssh.x86_640:5.3p1-123 .el6_9plymouth.x86_640:0.8.3-29.el6.centospolicycoreutils.x86_ 640:2.0.83-30.1.el6_8redhat-logos.noarch0:60.0.14-12.el6.cento ssysvinit-tools.x86_640:2.87-6.dsf.el6tcp_wrappers-libs.x86_64 0:7.6-58.el6udev.x86_640:147-2.73.el6_8.2upstart.x86_640:0.6 .5-17.el6util-linux-ng.x86_640:2.17.2-12.28.el6_9.2Complete!-- ->c488b880f48bRemovingintermediatecontainer54d1c22da719Step1 0/15:RUNecho$ROOT_PASSWORD|passwd--stdinroot--->Running in9906618c76eaChangingpasswordforuserroot.passwd:allauthen ticationtokensupdatedsuccessfully.--->473b44862b8bRemovingi ntermediatecontainer9906618c76eaStep11/15:RUNssh-keygen-t dsa-f/etc/ssh/ssh_host_dsa_key--->Runningin1ff47b661b7dGene ratingpublic/privatedsakeypair.Youridentificationhasbeens avedin/etc/ssh/ssh_host_dsa_key.Yourpublickeyhasbeensaved in/etc/ssh/ssh_host_dsa_key.pub.Thekeyfingerprintis:c7:17:da: ca:fc:9c:b4:d6:45:fb:db:b0:93:a3:23:75root@1ff47b661b7dThekey''s randomartimageis:+--[DSA1024]----+||| ||.||.o..||S+o ..||+o.E..||+..o.o.||.+oo=oo|| oo.+o|+-----------------+Enterpassphrase(emptyforno passphrase):Entersamepassphraseagain:--->956b3bf9ecc1Remov ingintermediatecontainer1ff47b661b7dStep12/15:RUNssh-keyge n-trsa-f/etc/ssh/ssh_host_rsa_key--->Runningin1a1c8be3424 4Generatingpublic/privatersakeypair.Youridentificationhasb eensavedin/etc/ssh/ssh_host_rsa_key.Yourpublickeyhasbeensavedin/etc/ssh/ssh_host_rsa_key.pub.Thekeyfingerprintis:fd:9c:57:31:62:06:0e:df:8d:af:60:c8:d7:75:77:f3root@1a1c8be34244Thekey''srandomartimageis:+--[RSA2048]----+|..||+oo||o+||...++O||So.+..E||oo....||+..||.|||+-----------------+Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:--->dd3bcb4ab9aeRemovingintermediatecontainer1a1c8be34244Step13/15:CMD/usr/bin/sshd-D--->Runningin09c2eca527ce--->02941cde6997Removingintermediatecontainer09c2eca527ceStep14/15:EXPOSE8080--->Runninginf1f09cd58b26--->c6cbbb630d02Removingintermediatecontainerf1f09cd58b26Step15/15:EXPOSE22--->Runningin98ca940bb8c2--->1f569892a3d7Removingintermediatecontainer98ca940bb8c2Successfullybuilt1f569892a3d7Successfullytaggedtomcat:v28\启动容器-p表示映射到宿主机的固定端口,-P为随机端口[root@docker-master~]#dockerrun-itd--nameweb02-p80:8080-p2222:22tomcat:v2www.44226.net9cc734888d1f87bbbad4536c05dc1a62bae4f12ae8d88560067d1d89039f2ca19\测试远程连接是否可以登陆10\此时便可以通过宿主机映射的2222端口进行连接了. |
|