Docker使用之java项目工程的部署
若容器存在请先停止,在删除,然后删除镜像重新编译
//停止容器
sudo docker stop datatransfer//删除容器
sudo docker rm datatransfer//删除镜像
sudo docker rmi hrtransfer
复制java项目工程文件jar包到 /apps/demo.jar
在 /apps/ 目录创建 Dockerfile文件,输入以下内容
FROM openjdk:8
#作者
MAINTAINER songchuanfu
#将 与Dockerfile文件同目录的demo.jar文件复制到镜像中(Linux操作系统的根目录)名称为 app.jar
ADD demo_docker-0.0.1-SNAPSHOT.jar app.jar
#让 运行镜像的容器 去监听9000端口
EXPOSE 8085
#同步docker的时区
#RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
#镜像启动时运行 java -jar /app.jar命令
ENTRYPOINT ["java","-jar","/app.jar"]
docker自动更新脚本
新建updateDocker.sh写入以下内容
echo "welcome to use docker reBuild"
echo "停止容器"
sudo docker stop yilianserver_instanceecho "删除容器"
sudo docker rm yilianserver_instanceecho "删除镜像"
sudo docker rmi yilianserverecho "打包docker"
sudo docker build -t yilianserver .echo "运行docker"
sudo docker run -d -it --name yilianserver_instance -p 8085:8085 yilianserverecho "运行docker"
sudo docker start yilianserver_instance
打包docker
docker build -t hrtransfer .运动docker并开启两个端口
docker run -d -it --name datatransfer -p 9000:9000 -p 9001:9001 hrtransfer//运行docker
docker start datatransfer//查看日志
docker logs datatransfer //实时查看docker容器日志docker logs -f -t --tail 222 datatransfer 查看docker文件
sudo docker exec -it datatransfer ls -l /容器里面拷文件到宿主机
sudo docker cp datatransfer:/logs /home/hadoop/Log宿主机拷文件到容器里面
docker cp /opt/test.js datatransfer:/usr/local/tomcat/webapps/test/js//显示容器使用的内存、cpu资源
docker stats //显示容器使用的系统资源
docker system df -v//修改docker时间//查看每个容器占用的磁盘空间呢
docker system df -v
修改Docker容器的时间和宿主时间一致
1、首先进入到容器中:
docker exec -it datatransfer /bin/bash2、在容器中修改下/etc/localtime文件的名称,避免冲突。
cd /etc/
mv /etc/localtime /etc/localtime_bak
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
查看高能耗进程
精简镜像的doker先安装相关工具