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

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

安装

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

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

在这里插入图片描述
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

在这里插入图片描述
最新版本安装

yum -y install docker-ce

在这里插入图片描述
5.启动docker

systemctl start docker

6.查看docker版本

docker version

在这里插入图片描述
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

在这里插入图片描述
需要重新构建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

在这里插入图片描述
2.重启与测试

curl -v -X GET localhost:5555/_ping

未重启前访问返回如下
在这里插入图片描述

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

重启后访问返回如下
在这里插入图片描述
3.浏览器访问
http://ip:port/version
在这里插入图片描述

部署springboot项目到docker

先在项目src/main下新建docker文件夹和Dockerfile
在这里插入图片描述
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文件夹下
在这里插入图片描述
2.制作镜像(此命令后面有个点)

docker build -t springbootdockertest1 .

在这里插入图片描述
3.使用docker images查看镜像
在这里插入图片描述
4.启动
-d参数是让容器后台运行
-p是做端口映射,port(服务器端口):port(容器里程序的端口)

docker run -d -p 6789:6789 springbootdockertest1

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

项目直接打包到容器部署

1.增加项目的pom配置

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

	<plugin>
			  <groupId>com.spotify</groupId>
			  <artifactId>docker-maven-plugin</artifactId>
			  <version>0.4.13</version>
			  <configuration>
			    <imageName>springbootdocker${project.artifactId}2</imageName>
			    <dockerDirectory>src/main/docker</dockerDirectory>
			    <!-- docker远程服务器地址 -->
			    <dockerHost>http://XXX.XXX.XXX.XXX:5555</dockerHost>
			    <resources>
			      <resource>
			        <targetPath>/</targetPath>
			        <directory>${project.build.directory}</directory>
			        <include>${project.build.finalName}.jar</include>
			      </resource>
			    </resources>
			  </configuration>
		</plugin>

2.这里我修改了程序端口号与手动部署的方式区分开
在这里插入图片描述
3.项目打包成镜像
在eclipse下的话右击项目-》run as -》maven build

clean package docker:build

在这里插入图片描述
在这里插入图片描述
3.使用docker images查看镜像
在这里插入图片描述
4.启动

docker run -d -p 6788:6788 springbootdockertest2

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值