基础镜像Dockerfile
#dubbo微服务提供者Dockerfile
FROM docker.io/centos
MAINTAINER puhuijia
#同步容器时间
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN yum -y install *epel* && yum -y install cronolog logrotate
#配置JDK环境变量
ADD ./env/jdk-8u101-linux-x64.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_101
ENV PATH $JAVA_HOME/bin:$PATH
ENV CLASSPATH .:$JAVA_HOME/lib
#配置tomcat
ADD ./env/apache-tomcat-8.0.36.tar.gz /usr/local/
RUN mv /usr/local/apache-tomcat-8.0.36 /usr/local/tomcat/
ADD ./env/catalina.sh /usr/local/tomcat/bin/
RUN chmod +x /usr/local/tomcat/bin/*.sh
容器运行示例:
tomcat
docker run -tid --name tomcat_front -v /VOL/deamonfile/:/etc/init.d/ -v /VOL/web/web_pc_front/:/usr/local/tomcat/webapps/ -v /VOL/log/web/web_pc_front/:/usr/local/tomcat/logs/ -p 8080:8080 puhuijia/dubbo_tomcat:v1 /etc/init.d/tomcat tomcat_front restart
dubbo
docker run -tid --name service_mobile -v /VOL/publicfile/dubbo/alidata/:/alidata/ -v /VOL/deamonfile/:/etc/init.d/ -v /VOL/dubbo/service_mobile/:/dubbo_provider/service_mobile/ -v /VOL/log/dubbo/service_mobile/:/dubbo_provider/log/ -p 8080:8080 puhuijia/dubbo_tomcat:v1 /etc/init.d/dubbo service_mobile restart
本地挂载卷目录结构
VOL/
├── deamonfile
├── dubbo
│ ├── service_account
│ ├── service_base
│ ├── service_llfx
│ ├── service_message
│ ├── service_mobile
│ │ └── lib
│ ├── service_operation
│ ├── service_oss
│ ├── service_payment
│ ├── service_pcbaobiao
│ ├── service_product
│ ├── service_promotionactivities
│ ├── service_promotion_zhangchen
│ ├── service_recommendation
│ ├── service_redis
│ ├── service_smart
│ └── service_xiaowei
├── log
│ ├── dubbo
│ │ ├── service_account
│ │ ├── service_base
│ │ ├── service_llfx
│ │ ├── service_message
│ │ ├── service_mobile
│ │ ├── service_operation
│ │ ├── service_oss
│ │ ├── service_payment
│ │ ├── service_pcbaobiao
│ │ ├── service_product
│ │ ├── service_promotionactivities
│ │ ├── service_promotion_zhangchen
│ │ ├── service_recommendation
│ │ ├── service_redis
│ │ ├── service_smart
│ │ └── service_xiaowei
│ └── web
│ ├── web_batchjob
│ ├── web_batchjob_new
│ ├── web_datadocking
│ ├── web_mobile
│ ├── web_pc_back
│ ├── web_pc_back_finance
│ ├── web_pc_back_postloan
│ ├── web_pc_front
│ ├── web_publicapi
│ ├── web_weixin
│ └── web_xiaowei
├── publicfile
│ ├── dubbo
│ │ └── alidata
│ │ └── puhuijia
│ │ ├── puhuijia_mobile_log
│ │ └── puhuijia_mobile_properties
│ │ └── properties
│ │ └── xjd
│ └── web
└── web
├── web_batchjob
├── web_batchjob_new
├── web_datadocking
├── web_mobile
├── web_pc_back
├── web_pc_back_finance
├── web_pc_back_postloan
├── web_pc_front
│ └── ROOT
├── web_publicapi
├── web_weixin
└── web_xiaowei
查看某个容器的IP地址
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID>
查看所有容器的IP
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)