docker部署mule项目

匿名 (未验证) 提交于 2019-12-02 23:43:01

1 创建 touch dockerfile 、java安装包、 mule程序应用包、 mule服务器包等放在同dockerfile文件同一目录

2.上传mule应用程序包zip,如图:

3 编辑 vim dockerfile

如下图所示:

#本地必须要有centos:7.2的镜像

FROM 110.120.119.110:2101/library/centos:centos7

#

MAINTAINER yan

ARG user_group=1101

ENV USER=${user} \

TERM=xterm

#时区设置 没有就创建有就删除

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

RUN mkdir -p ${LOG_PATH} && chmod a+x /data/yan/onb/ && chown -R ${USER_ID}:${USER_GROUP} ${LOG_PATH} /data/yan/onb/

#用USER指定用户后,docker容器应用程序以指定的用户运行,这里是yan,不指定的话默认是root用户运行

# mule的包添加到/data/yan/onb/路径下

ADD jdk-8u171-linux-x64.tar.gz /data/gdeop/mule/eop-prod-cbs-api-center/jdk1.8/

ADD mule-standalone-3.8.1.tar.gz /data/gdeop/mule/eop-prod-cbs-api-center/

## 设置Java环境变量ENV

ENV JAVA_HOME /data/gdeop/mule/eop-prod-cbs-api-center/jdk1.8/jdk1.8.0_171

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.16

# ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.16

ENV PATH $PATH:$JAVA_HOME/bin

ENV LANG=en_US.UTF-8

ENV TZ=Asia/Shanghai

# mule应用包添加到//data/gdeop/mule/ctg-eop/路径下

COPY api-center2019011710308622.zip /data/gdeop/mule/eop-prod-cbs-api-center/mule-standalone-3.8.1/apps/

#mule开启服务

4 Mule应用的Dockerfile文件:

[telecom@master mule]$ vim dockerfile

Dockerfile文件脚本:

#本地必须要有centos:7.2的镜像

FROM 110.120.119.110:2101/library/centos:centos7

#

MAINTAINER gdeop

ARG user=yan

ARG user_id=1101

ARG user_group=1101

ENV USER=${user} \

TERM=xterm

#时区设置 没有就创建有就删除

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

RUN mkdir -p ${LOG_PATH} && chmod a+x /data/gdeop/apicenter/ && chown -R ${USER_ID}:${USER_GROUP} ${LOG_PATH} /data/gdeop/apicenter/

USER ${USER}

#指定工作目录

WORKDIR /data/gdeop/apicenter

# mule的包添加到//data/gdeop/mule/ctg-eop/路径下

ADD jdk-8u171-linux-x64.tar.gz /data/gdeop/mule/eop-prod-cbs-api-center/jdk1.8/

ADD mule-standalone-3.8.1.tar.gz /data/gdeop/mule/eop-prod-cbs-api-center/

## 设置Java环境变量ENV

ENV JAVA_HOME /data/gdeop/mule/eop-prod-cbs-api-center/jdk1.8/jdk1.8.0_171

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.16

# ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.16

ENV PATH $PATH:$JAVA_HOME/bin

ENV LANG=en_US.UTF-8

ENV TZ=Asia/Shanghai

# mule应用包添加到//data/gdeop/mule/ctg-eop/路径下

COPY api-center2019011710308622.zip /data/gdeop/mule/eop-prod-cbs-api-center/mule-standalone-3.8.1/apps/

#mule开启服务

5 Dockerfile中要注意的细节:如下图所示

mule-standalone-3.8.1

注意:

假设你的容器名字叫做container,试试这样:

后面加命令tail -f /dev/null,就可以保持你的容器一直在前台运行了。

二 在cd mule下,执行以下命令构建镜像

.

.

如:docker build -t apicenter201810129268622:3.8.1 .

1 docker images查看:

待验证,命名是否支持大写字母

2 执行成功后,用docker run 开启新容器

3用docker ps 查看成功

查看端口本地8100端口映射容器(mule应用)8100端口是否成功

4 限制容器内存

docker run -d --name

m g ) --memory-swap=

例:

5 Docker stats查看限制容器内存是否成功

三 查看目录的日志

切换到root用户

进入根目录 cd /

1 在用find . -name 文件名

find . -name api_center.log

四 服务器之间传文件

1 将本地目录拷贝到远程:

scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径

scp -r /data/telecom/mule.tar.gz gdeop@110.120.119.110:/data/gdeop/

2 从远程将目录拷回本地

scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径

五、本地目录日志挂载

1.本地创建日志目录

2 容器日志挂载到物理机目录

例如:执行命令

文章来源: https://blog.csdn.net/fenlin88l/article/details/89380722
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!