【Docker】真小白实战之安装Docker部署SpringBoot项目

以下操作在centos7下执行
在这里插入图片描述

安装

1.docker依赖于系统的一些必要的工具,安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

【Docker】真小白实战之安装Docker部署SpringBoot项目_第1张图片
2.添加软件源信息

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述
3.更新yum缓存

yum makecache fast

4.安装可选指定版本或最新版本安装
使用该命令可列出从高到低Docker-ce的版本

yum list docker-ce.x86_64  --showduplicates | sort -r

【Docker】真小白实战之安装Docker部署SpringBoot项目_第2张图片
最新版本安装

yum -y install docker-ce

【Docker】真小白实战之安装Docker部署SpringBoot项目_第3张图片
5.启动docker

systemctl start docker

6.查看docker版本

docker version

【Docker】真小白实战之安装Docker部署SpringBoot项目_第4张图片
6.镜像加速
Docker国内镜像:
网易加速器:http://hub-mirror.c.163.com
官方中国加速器:https://registry.docker-cn.com
ustc的镜像:https://docker.mirrors.ustc.edu.cn

cd /etc/docker/  #进入目录
touch daemon.json #如没有该文件则新建
vi daemon.json  #增加如下内容
{ 
  "registry-mirrors": ["https://hub-mirror.c.163.com"] 
} 
systemctl daemon-reload     #通知docker服务做出的修改
systemctl restart docker    #重启docker后台服务

在这里插入图片描述
7.一开始yum安装报错

error: rpmdb: BDB0113 Thread/process 25515/139945191524416 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 -  (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

【Docker】真小白实战之安装Docker部署SpringBoot项目_第5张图片
需要重新构建rpm数据库

cd /var/lib/rpm
rm -rf __db*
rpm --rebuilddb

在这里插入图片描述

Docker 开启远程API

1.修改配置文件

#进入目录
cd /lib/systemd/system 

# 编辑文件
vi docker.service 

#修改ExecStart的值,端口自定义即可
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:5555 -H unix://var/run/docker.sock

【Docker】真小白实战之安装Docker部署SpringBoot项目_第6张图片
2.重启与测试

curl -v -X GET localhost:5555/_ping

未重启前访问返回如下
【Docker】真小白实战之安装Docker部署SpringBoot项目_第7张图片

systemctl daemon-reload     #通知docker服务做出的修改
systemctl restart docker    #重启docker后台服务
curl -v -X GET localhost:5555/_ping

重启后访问返回如下
【Docker】真小白实战之安装Docker部署SpringBoot项目_第8张图片
3.浏览器访问
http://ip:port/version
在这里插入图片描述

部署springboot项目到docker

先在项目src/main下新建docker文件夹和Dockerfile
【Docker】真小白实战之安装Docker部署SpringBoot项目_第9张图片
Dockerfile文件如下

FROM java:8
VOLUME /tmp
ADD test-0.0.1-SNAPSHOT.jar test.jar
RUN sh -c 'touch /test.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /test.jar" ]

参数解释

1.FROM 指向需要创建的容器名称 java:8 (除了注释之外,必须是第一行写,否则报错)如果是第一次打包,它会自动下载java 8的镜像作为基础镜像,以后再制作镜像的时候就不会再下载了
2.tag 不写默认取latest,可以认为是版本号
3.ADD 向容器中添加文件,主机文件,网络文件,文件夹,项目的 jar 文件作为 “test.jar” 添加到容器的
4.VOLUME 指定挂载点,主机其他容器
5.RUN 用于修改镜像命令,常用安装库,程序以及配置程序
6.ENV 设置容器的环境变量
7.CMD 启动容器默认命令
8.ENTRYPOINT 与CMD类似,与CMD配合使用

手动部署

1.在服务器新建一个docker文件夹,将maven打包好的jar包和Dockerfile文件复制到服务器的docker文件夹下
【Docker】真小白实战之安装Docker部署SpringBoot项目_第10张图片
2.制作镜像(此命令后面有个点)

docker build -t springbootdockertest1 .

【Docker】真小白实战之安装Docker部署SpringBoot项目_第11张图片
3.使用docker images查看镜像
【Docker】真小白实战之安装Docker部署SpringBoot项目_第12张图片
4.启动
-d参数是让容器后台运行
-p是做端口映射,port(服务器端口):port(容器里程序的端口)

docker run -d -p 6789:6789 springbootdockertest1

5.访问
在这里插入图片描述

项目直接打包到容器部署

1.增加项目的pom配置

1.dockerHost配置自己的docker地址
2.imageName自定义

	
			  com.spotify
			  docker-maven-plugin
			  0.4.13
			  
			    springbootdocker${project.artifactId}2
			    src/main/docker
			    
			    http://XXX.XXX.XXX.XXX:5555
			    
			      
			        /
			        ${project.build.directory}
			        ${project.build.finalName}.jar
			      
			    
			  
		

2.这里我修改了程序端口号与手动部署的方式区分开
【Docker】真小白实战之安装Docker部署SpringBoot项目_第13张图片
3.项目打包成镜像
在eclipse下的话右击项目-》run as -》maven build

clean package docker:build

【Docker】真小白实战之安装Docker部署SpringBoot项目_第14张图片
【Docker】真小白实战之安装Docker部署SpringBoot项目_第15张图片
3.使用docker images查看镜像
在这里插入图片描述
4.启动

docker run -d -p 6788:6788 springbootdockertest2

在这里插入图片描述

你可能感兴趣的:(Docker)