若容器存在请先停止,在删除,然后删除镜像重新编译
//停止容器 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_instance echo "删除容器" sudo docker rm yilianserver_instance echo "删除镜像" sudo docker rmi yilianserver echo "打包docker" sudo docker build -t yilianserver . echo "运行docker" sudo docker run -d -it --name yilianserver_instance -p 8085:8085 yilianserver echo "运行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/bash 2、在容器中修改下/etc/localtime文件的名称,避免冲突。 cd /etc/ mv /etc/localtime /etc/localtime_bak cp /usr/share/zoneinfo/asia/shanghai /etc/localtime date
查看高能耗进程
精简镜像的doker先安装相关工具