我收集的DockerImages
dockerrun增加如下参数,限制生成的json。log单个文件大小和保留文件个数:logdriverjsonfilelogoptmaxsize10mlogoptmaxsize10mlogoptmaxfile3
1,tomcat
以下为云平台的前端执行:dockerrundnametomcatwebeTZAsiaShanghaip8080:8080vdisk02tomcatwebwebapps:usrlocaltomcatwebappsvdisk02tomcatweblogs:usrlocaltomcatlogsvdisk02tomcatwebtemp:usrlocaltomcattemprestartalwaysdocker。iotomcat:8。5。14
使ubuntu系统,如果要更改内部配置,则使用aptgetupdateinstall来安装软件;sudoaptgetinstallvimgtk
2,ftp
参考网址:https:hub。docker。comrstilliardpureftpdhttp:www。cnblogs。comHDp5664394。htmldockerrundnameftpserverp21:21p3000030009:3000030009restartalwaysvusrlocaltomcatwebwebapps:srvftpstilliardpureftpd
进入image中添加用户和密码:dockerexecitftpserverbinbash
添加用户和目录:purepwuseradduser01uftpuserdsrvftppurepwmkdb
使用以下的软件vsftpd:
参照以下网址:https:github。comAndrewVosdockerproftpddockerpullandrewvosdockerproftpddockerrunnamevsftpdp21:21p20:20eUSERNAMEuser01ePASSWORDdongbao123restartalwaysvusrlocaltomcatwebwebapps:ftpandrewvosdockerproftpdftpplocalhost21Name(0。0。0。0:andrew):usernamePassword:ftpls
另一种方案:
https:github。comruo91dockervsftpdA,dockerbuildrmtvsftpd:3。0。2。B,dockerrundnamevsftpdrestartalwayshvsftpdp21:21vusrlocaltomcatwebwebapps:homevusrlocalvsftpdconfig:etcvsftpdvtmp:tmpvsftpd:3。0。2dockerrundnamevsftpdrestartalwaysp21:21vusrlocaltomcatwebwebapps:homevusrlocalvsftpdconfig:etcvsftpdvtmp:tmpvsftpd:3。0。2
C,创建用户ROOTdockerexecvsftpdvsftpdvuser。shROOTdongbao123
注意,在usrlocaltomcatwebwebapps中创建了ROOT文件夹,以用户名来创建文件夹。
3,nginx安装:
优先参照官网文档:https:hub。docker。comnginx
https:github。comhnakamurdockernginxlua
https:hub。docker。comnginx
以下是正确的配置:dockerrundnamenginxrestartalwaysp80:80p443:443p8888:8888vdisk02tomcatapiwebapps:usrsharenginxhtmlvdisk02nginxlog:varlognginxeTZAsiaShanghainginx:latest
dockerrundnamenginxp80:80p443:443vdisk02nginxhtml:usrsharenginxhtmlrestartalwaysnginx:latestdockercprootbackuphizeer。comnginx:usrsharenginxdockercprootbackupdefault。confnginx:etcnginxconf。ddefault。confdockercpnginx:etcnginxconf。ddefault。confdefault。conf。bakdockerrestartnginx
http:yonsz。comwikiimagesffcNginxfilebeat。zipdockerbuildtfilebeatnginx。dockerrunp80:80p443:443p8181:8181ditlinkelkrestartalwaysnamenginxfilebeatnginxdockerrunp80:80p443:443p8181:8181ditrestartalwaysnamenginxfilebeatnginx
重新绑定一个端口:
1、获得容器IP
dockerinspectnginxgrepIPAddress
2、将容器的8000端口映射到Docker主机的8001端口
iptablestnatADOCKERptcpdport8181jDNATtodestination172。17。0。2:18181
4,打包服务:jenkins:(2。46。1版本没有内存溢出的问题)mkdirdisk02jenkinsmkdirdisk02jenkinsjobsmkdirdisk02jenkinstoolsmkdirdisk02jenkinsrepochmodR777disk02jenkinschownR200disk02jenkins
正确的:dockerrunrestartalwayseTZAsiaShanghainamejenkinsp9091:8080vdisk02jenkinsjobs:varjenkinshomejobsvdisk02jenkinstools:varjenkinshometoolsvdisk02jenkinsrepo:varjenkinshomerepojenkinsjenkins
访问地址如:
http:localhost:9091
不需要带jenkins工程名称;
dockerexecitjenkinsbinbash
5,nexus:mkdirdata2nexusmkdirdata2nexusdatachownR200disk02nexusdata注意必须是200的所有者权限;dockerrundp8080:8081namenexusrestartalwaysvdisk02nexusdata:sonatypeworksonatypenexus
dockerrundp8080:8081namenexusrestartalwaysvdisk02nexusdata:sonatypeworksonatypenexus
注意运行出错时,要关闭linux的SELinux功能。
6,安装redisdockerrunnameredisdrestartalwayspublish6379:6379volumeusrlocalredis:varlibredissameersbnredis:latestappendonlyyes
增加密码:
dockerrunnameredisdrestartalways
publish6379:6379
envREDISPASSWORDyonsz。com
volumedisk02redis:varlibredis
sameersbnredis:latest
要关闭执行以下命令:
sediSELINUXsenforcingdisabledetcselinuxconfig
1、关闭firewall:
systemctlstopfirewalld。service停止firewall
systemctldisablefirewalld。service禁止firewall开机启动
firewallcmdstate查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
7,elk
dockerrunp5601:5601p9200:9200p5044:5000restartalwaysitvdisk02elkdata:datavdisk02elklogstash:varloglogstashnameelk18fgsaelkdocker
sudosysctlwvm。maxmapcount262144
单独的dockerpulllogstash
dockerrunitvdisk02nginxlog:disk02nginxlogrmlogstasheinput{file{pathdisk02nginxlog。logtypenginx}}output{elasticsearch{hosts10。135。143。159:9200}}
dockerrunitvdisk02nginxlog:disk02nginxlognamelogstashlogstasheinput{file{pathdisk02nginxlog。logtypenginx}}output{elasticsearch{hosts10。135。143。159:9200}}
以下是正确的:
dockerrundrestartalwaysp5601:5601p5044:5000p9200:9200p9300:9300nameelkulimitnofile65536:65536vdisk02nginxlog:optnginxlogkenwdelongelkdocker:latest
dockerrundrestartalwaysp5601:5601p5044:5000p9200:9200p9300:9300nameelkulimitnofile65536:65536kenwdelongelkdocker:latest
56019200930050005044
https:hub。docker。comrkenwdelongelkdocker
直接写入到elk中的示例:
dockerrunnamejhipster。pxgatewayeTZAsiaShanghai
logdriversysloglogoptsyslogaddresstcp:10。135。143。159:5044logoptsyslogfacilitydaemon
vdisk02jhipsterpxgatewaylog:tmprestartalwaysp8080:8080p5701:5701udpjhipster。pxgateway:1。0
8,mediawiki
无
9,apachephp
dockerrundnameapachephprestartalwaysp0。0。0。0:8000:80volumedisk02apachephpwww:appwebdevopsphpapache:latest
不建议使用下面的docker
gitclonehttps:github。comjjcosgrovedockerapachephp。git
dockerbuildtapachephp。
dockerrundnameapachephprestartalwaysp0。0。0。0:8000:80volumeusrlocalapachephpwww:varwwwapachephp:latest
dockerrundnameapachephprestartalwaysp0。0。0。0:8000:80volumeusrlocalapachephpwww:appwebdevopsphpapache:ubuntu15。10
10,rabbitmq
dockerrunnamerabbitmqdp5672:5672p15672:15672vusrlocalrabbitmqlog:datalogvusrlocalrabbitmqdata:datamnesiadockerfilerabbitmq
参照网址:https:github。comfrodenasdockerrabbitmq
dockerrundnamerabbitmqrestartalwaysp5672:5672p15672:15672eRABBITMQUSERNAMEadmineRABBITMQPASSWORDadminfrodenasrabbitmq
dockerrundnamerabbitmqrestartalwaysp5672:5672p15672:15672eRABBITMQDEFAULTUSERadmineRABBITMQDEFAULTPASSadminrabbitmq:3management
第一次使用Z1时,请注意登录后台添加quaue和exchange,否则启动会出错。
11,activemq:
dockerrunnameactivemqp61616:61616eACTIVEMQADMINLOGINadmineACTIVEMQADMINPASSWORDadminrestartalwaysdwebcenteractivemq:latest
dockerrundp8161:8161p61616:61616eACTIVEMQADMINLOGINadmineACTIVEMQADMINPASSWORDadminnameactivemqvusrlocalactivemq:optapacheactivemq5。13。3datavusrlocalactivemqkahadb:optapacheactivemq5。13。3datakahadbregistry。aliyuncs。comdaydayupactivemq
12,zookeeper
dockerrundnamezookeeperrestartalwaysp2181:2181zookeeper
13,安装mysql
dockerrunnamemysqlp3306:3306restartalwaysdvoptmysqldata:varlibmysqleMYSQLROOTPASSWORD123456mysql:latest
配置文件在以下目录:
mysql:etcmysql
主要配置文件在:
dockercpbackupmysqlmysql。conf。dmysqld。cnfmysql:etcmysqlmysql。conf。dmysqld。cnf
14,solr:
mkdirdisk02solr
chmodR777disk02solr
dockerrunnamesolrdp8983:8983twoptsolr:6。5。1
dockercpsolr:optsolrdisk02solr
dockerrunnamesolrdp8983:8983twoptvdisk02solr:optsolrsolr:6。5。1
dockerrunnamelaravelp8090:80vdisk02laravelsolrappapp:varwwwlaravelappvdisk02laravelsolrapppublic:varwwwlaravelpublicdeboraaslaravel
15,运行springboot的docker:
15。1,Dockerfile
基础镜像:仓库是java,标签用8u66jdk
FROMjava:8u66jdk
当前镜像的维护者和联系方式
MAINTAINERyonszyaojiamiaoyonsz。com
将打包好的spring程序拷贝到容器中的指定位置
ADDtargetNettyMqBoot1。0。1SNAPSHOT。jarapp。jar
容器对外暴露8080端口
EXPOSE9191
EXPOSE18866
容器启动后需要执行的命令
CMDjavaDjava。security。egdfile:dev。urandomjarapp。jar
15。2,dockerbuildrmtspringboot:1。0。
15。3,docker运行时,需要把对应的jar文件dockercpxxx。jarnetty:app。jar
dockerrunnamespringboot。apieTZAsiaShanghairestartalwaysp18866:18866p9191:9191yonszspringboot:1。0
dockerrunnamespringboot。faveTZAsiaShanghairestartalwaysp8182:8182springboot:1。0
dockerrunnamemobilenettyeTZAsiaShanghairestartalwaysp25533:25533p9292:9292springboot:1。0
16,mongodb
dockerrunnamemongorestartalwaysdp27017:27017p28017:28017eMONGODBUSERrooteMONGODBDATABASEhidatabaseeMONGODBPASSroot123vdisk02mongodbdb:datadbtutummongodb
建议用以下的语句:
dockerrunp27017:27017restartalwaysnamemongodbdeMONGODBUSERusereMONGODBPASSWORDroot123eMONGODBDATABASEmydbeMONGODBADMINPASSWORDadmin123eTZAsiaShanghaivdisk02mongodbdata:varlibmongodbdatacentosmongodb32centos7
chmodR777disk02mongodbdata
17,hazelcast
dockerrunnamehazelcastrestartalwaysp5701:5701tihazelcasthazelcast
18,sonarqube
dockerrundnamesonarqubevdisk02sonarqubedata:optsonarqubedatap19000:9000p19092:9092
eSONARQUBEJDBCUSERNAMEroot
eSONARQUBEJDBCPASSWORDshl1908
eSONARQUBEJDBCURLjdbc:mysql:10。66。101。244:3306sonar?useUnicodetruecharacterEncodingutf8
sonarqube:latest
19,fastdfs
dockerrundnametrackervdisk02fastdfstracker:datafastdatanethostmorunchangfastdfsshtracker。sh
dockerrundnamestorage0vdisk02fastdfsstorage0:datafastdatanethosteTRACKERIP172。17。0。1:22122eGROUPNAMEgroup1morunchangfastdfsshstorage。sh
以上需要更改storage的nginx的端口配置;
以下不建议使用。
gitclonehttps:github。comphinexdazdockerfastdfs。git
使用附件:
20,storm
20。1,先安装zookeeper
dockerrundnamezookeeperrestartalwaysp2181:2181zookeeper
20。2:
dockerrundrestartalwaysnamestormnimbuslinkzookeeper:zookeeperstormstormnimbus
dockerrundrestartalwaysnamestormsupervisorlinkzookeeper:zookeeperlinkstormnimbus:nimbusstormstormsupervisor
dockerrunlinkstormnimbus:nimbusitrmv(pwd)topology。jar:topology。jarstormstormjartopology。jarorg。apache。storm。starter。WordCountTopologytopology
最后:
dockerrundp8080:8080restartalwaysnamestormuilinkstormnimbus:nimbusstormstormui
21,jhipsterregistry
dockerrundrestartalwaysnamejhipsterregistryp8761:8761eTZAsiaShanghaijhipsterjhipsterregistry
dockerbuildrmtjhipsterregistry:1。0。
dockerrundrestartalwaysnamejhipsterregistryp8761:8761eTZAsiaShanghaijhipsterregistry:1。0
dockerbuildrmtuaa。
dockercomposefapp。ymlup
22,jhipster
https:www。jhipster。techinstallationdockercontainerstopjhipsterdockercontainerrmjhipsterdockerimagepulljhipsterjhipsterdockercontainerrunnamejhipstervdisk02jhipster:homejhipsterappvdisk02jhipster。m2:homejhipster。m2p8080:8080p9000:9000p3001:3001dtjhipsterjhipster
使用root进入容器:
dockercontainerexecituserrootjhipsterbash
23,Docker镜像分析工具ping
dockerrundnamepingrestartalwaysvvarrundocker。sock:varrundocker。sockp7001:7001vicansoping
24,sonarqube
dockerrundnamesonarquberestartalwaysp9000:9000p9092:9092
eSONARQUBEJDBCUSERNAMEroot
eSONARQUBEJDBCPASSWORD123456
eSONARQUBEJDBCURLjdbc:mysql:172。17。0。1:3306sonar?useUnicodetruecharacterEncodingutf8rewriteBatchedStatementstrueuseConfigsmaxPerformanceuseSSLfalsesonarqube
dockerrun
ti
d
restartalways
nameshipyardcontroller
linkshipyardrethinkdb:rethinkdb
linkshipyardswarmmanager:swarm
p8888:8080
shipyardshipyard:latest
server
dtcp:swarm:3375
dockerrunnameelasticsearchp9200:9200p9300:9300restartalwaysdtdenibertovicelasticsearch
curlXGETlocalhost:9200
尝试使用Kitematic来管理dockerdockerrunnamedockerregistryrestartalwaysdp5000:5000vusrlocaldockerregistry:tmpregistryregistry:latest
执行dockersystemprunea命令之后,Docker占用的磁盘空间减少了很多: