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端口是否成功
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/
scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径
五、本地目录日志挂载
1.本地创建日志目录
2 容器日志挂载到物理机目录
例如:执行命令