centos7安装docker及运行springboot项目

好久不见. 提交于 2020-11-22 07:45:48

一.准备

1.检查linux版本:>=centos7 linux内核3.8以上

uname -r

2.卸载旧版本(之前没装过就不用执行了):

yum remove docker docker-common docker-selinux docker-engine

yum remove docker-ce

rm -rf /var/lib/docker

3.更新yum包

yum update

如果报出[Errno 256] No more mirrors to try错误,则解决方案为:执行命令yum clean all 清理客户端yum源配置的缓存,重新运行之前的安装命令进行安装

二.安装依赖软件包

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

三.设置yum包源

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)(推荐)

四.更新yum软件索引

yum makecache fast

五.安装docker

yum install docker-ce -y

查看已安装版本:docker version

六.启动docker

systemctl start docker

七.加入开机自启动

systemctl enable docker

八、配置镜像加速

这里使用阿里云的免费镜像加速服务,也可以使用其他如时速云、网易云等
1.注册登录开通阿里云容器镜像服务
2.查看控制台,招到镜像加速器并复制自己的加速器地址

3.找到/etc/docker目录下的daemon.json文件,没有则直接 vi daemon.json

4.加入以下配置

#填写自己的加速器地址

{

​ “registry-mirrors”: [“https://zfzbet67.mirror.aliyuncs.com”]

}

5.通知systemd重载此配置文件;

systemctl daemon-reload

6.重启docker服务

systemctl restart docker

九.docker中运行springboot项目

1.准备好自己打包好的jar文件

2.拷贝jar到服务器的某个目录下,同目录下vi Dockerfile,并在文件中增加类似如下配置:

FROM java:8
MAINTAINER mafx
ADD demo-0.0.1-SNAPSHOT.jar /demo-0.0.1-SNAPSHOT.jar
EXPOSE 8081
ENTRYPOINT [“java”,"-jar","/demo-0.0.1-SNAPSHOT.jar"]



3.开始构建镜像

docker build -t sprintbootimage:v1 . (注:后边是有个.的,sprintbootimage为自起的镜像名称,v1是版本)

4.运行容器

docker run --name pro -d -p 8081:8081 sprintbootimage:v1

(注:pro是自起的容器名称,8081:8081是物理机到docker的端口映射)

可通过运行:docker logs 【容器名称】 来查看日志,确认是否启动成功。

注:在运行时如果报no main manifest attribute, in XXX1.0.0-SNAPSHOT.jar错误,则一般是自己打jar有问题,解决方案为:

pom.xml文件 添加 则有maven plugins 启动 spring-boot

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

5.启动成功后就可以访问项目了

在这里插入图片描述

其他命令:

docker重启命令:systemctl restart docker

删除容器:docker container rm 容器名称 强制删除:docker container rm -f 名称

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!