Spring Boot 2关于docker的使用
安装docker
-- 安装docker
yum install -y docker
-- 启动、停止、重启docker
sudo service docker start
sudo service docker stop
sudo service docker restart
systemctl start docker
systemctl stop docker
systemctl restart docker
-- 查看docker进程
ps -ef|grep docker
-- 查看帮助
docker --help
docker镜像
-- 查找镜像
docker search centos
-- 下载镜像
docker pull docker.io/centos
-- 查看本地镜像
docker images
-- 删除镜像
docker rmi [image_id]
-- 查询镜像详细信息
docker inspect [image_id]
docker容器
-- 基于镜像ID创建运行一个容器
docker run -it 9f38484d220f /bin/echo 'hello world'
-- 创建容器
docker create -it [image_id]
-- 删除容器
docker rm [container_id]
-- 查看容器
docker ps -a
docker container ls -a
-- 启动容器
docker attach [container_id]
docker start [container_id]
docker stop [container_id]
docker restart [container_id]
docker kill [container_id]
部署SpringBoot项目
使用Dockerfile与jar包
编辑Dockerfile文件
FROM java:8
VOLUME /tmp
WORKDIR /opt/workspace/ch04
ADD ch04.jar /opt/workspace/ch04/ch04.jar
ENTRYPOINT ["nohup","java","-Dspring.profiles.active=dev","-Xmx256m","-Xms256m","-XX:+DisableExplicitGC","-jar","/opt/workspace/ch04/ch04.jar",">/dev/null","&"]
编译创建镜像
-- Dockerfile文件在根目录
docker build -t test/ch04:v1 .
--- 指定Dockerfile文件
docker build -t test/ch04:v2 -f ./Dockerfile .
运行
docker run -d -p 8391:8391 -v /opt/logs/webapp/spring-boot-demo:/root/logs/webapp/spring-boot-demo test/ch04:v3
-d :后台运行
-P :随机端口映射
-p :指定端口映射
-v :目录映射
查看日志
docker logs -f [container_id]
docker logs --tail=10 [container_id]
docker logs --tail=10 -t --since='2019-7-28' [container_id]
–since :显示某个开始时间的所有日志
–tail :仅列出最新N条容器日志
-f : 跟踪日志输出
-t : 显示时间戳
使用Dockerfile自动构建
-- 引用gradle-docker插件
classpath('se.transmode.gradle:gradle-docker:1.2')
-- 设置FROM等信息
docker {
baseImage 'java:8'
maintainer 'author'
}
-- 新建任务
task dockerBuild(type: Docker, dependsOn: build) {
push = false
project.group = 'test'
applicationName = jar.baseName
tagVersion = jar.version
volume('/tmp')
workingDir(workingDir)
addFile(sourceFile, targetFile)
entryPoint(["nohup", "java", "-Dspring.profiles.active=dev", "-Xmx256m", "-Xms256m", "-XX:+DisableExplicitGC", "-jar", targetFile, ">/dev/null", "&"])
exposePort(8391)
}
-- 编译
gradle dockerBuild
-- 运行
docker run -d -p 8391:8391 -v /opt/logs/webapp/spring-boot-demo:/root/logs/webapp/spring-boot-demo test/ch04:v2
源码位置:
https://gitee.com/ceclar123/spring-boot-demo/tree/master/ch10