Docker容器部署springboot项目

1、docker依赖于Linux内核环境。

2、服务器

vm虚拟机 + centOS7镜像

3、docker一键安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

curl -sSL https://get.daocloud.io/docker | sh

4、镜像加速

/etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}

5、docker命令

 docker version
 systemctl enable docker #服务器开机自启
 systemctl status docker #查看状态
 systemctl start docker #启动
 systemctl stop docker #停止
 systemctl restart docker #重启

6、Dockerfile

vi Dockerfile #创建文件(dockerfile与jar、lib文件都再同一目录下)

#拉取镜像
FROM java:8
#作者
MAINTAINER abaaba
#运行时
RUN echo "Asia/Shanghai" > /etc/timezone
#本地资源,ADD可以用远程资源
COPY server-1.0.0-SNAPSHOT.jar test-server.jar
COPY lib lib
#端口
EXPOSE 65534
#启动命令
ENTRYPOINT ["java","-jar”,"test-server.jar"]

7、镜像/容器

 docker pull java:8 #拉取镜像
 docker build -t test . #制作镜像(英文点.不能忘)
 docker images #所有镜像
 docker rmi 镜像ID #删除镜像(先删除容器)
 docker ps -a #查看所有容器
 docker start容器ID #启动容器
 docker stop 容器ID #停止容器
 docker restart 容器ID #重启容器
 docker rm 容器ID #删除容器

8、启动镜像/挂载文件

docker run -d -p 本地端口:容器端口 -v 本地文件/容器文件 镜像名称 #启动镜像

#挂载时区,容器内的时间与宿主机相同;dockerfile中的时区是保证日志时间与宿主机相同
docker run -d -p 65534:65534  -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime test

9、提取日志

docker logs -f 容器ID #实时跟踪
docker logs -t –since=‘’ –until=‘’ 容器ID >路径 #提取某段时间的日志保存在文件

docker logs -t --since 30m 8b80dda0d724 #查看容器30分钟的日志
docker logs -t --since='2021-11-23T09:00:00' --until='2021-11-23T09:30:00' 8b80dda0d724 >/server/test/log.logs

10、时间日期问题

date #查看系统时间
timedatectl set-timezone Asia/Shanghai #设置系统时区

docker exec -it 实例ID /bin/bash #进入容器
date #查看容器时间
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #未挂载时区文件时(在容器内执行)

结论:
docker logs -t --since的时区是固定UTC时区 ,导致两种查看方式的时间不对
docker logs -f 的时区可以通过上述方法修改掉
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值