千家信息网

如何安装Docker并部署 Spring Boot 项目

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍"如何安装Docker并部署 Spring Boot 项目",在日常操作中,相信很多人在如何安装Docker并部署 Spring Boot 项目问题上存在疑惑,小编查阅了各式资料,整理
千家信息网最后更新 2024年11月23日如何安装Docker并部署 Spring Boot 项目

这篇文章主要介绍"如何安装Docker并部署 Spring Boot 项目",在日常操作中,相信很多人在如何安装Docker并部署 Spring Boot 项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何安装Docker并部署 Spring Boot 项目"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

前提条件

  • 一台CentOS7的服务器。我这里用的是阿里云的服务器,选的是CentOS7版本系统

  • 使用xshell6类似的远程连接工具连接到服务器。参考文章:使用xshell6远程连接Linux服务器

  • 如何需要域名访问Docker部署的项目,需要先拥有一个域名哦。我这里演示用的域名是在阿里云申请的。详见阿里云域名注册。

安装命令

建议在linux环境下安装Docker,window环境搭建比较复杂且容易出错,使用Centos7+yum来安装Docker环境很方便。

Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令:

yum install docker

启动Docker服务

安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:

service docker startchkconfig docker on

测试Docker安装成功

测试

docker version

输入上述命令,返回docker的版本相关信息,证明docker安装成功。

设置国内镜像

通过vim修改docker为国内镜像地址:https://registry.docker-cn.com

因为国内连接 Docker 的官方仓库很慢,因此我们在日常使用中会使用Docker 中国加速器。通过 Docker 官方镜像加速,中国区用户能够快速访问最流行的 Docker 镜像。该镜像托管于中国大陆,本地用户现在将会享受到更快的下载速度和更强的稳定性,从而能够更敏捷地开发和交付 Docker 化应用。

Docker 中国官方镜像加速可通过registry.docker-cn.com访问。该镜像库只包含流行的公有镜像,私有镜像仍需要从美国镜像库中拉取。

修改系统中docker对应的配置文件即可,如下:

vi  /etc/docker/daemon.json#添加后{    "registry-mirrors": ["https://registry.docker-cn.com"],    "live-restore": true}

演示Hello World程序

//运行下面的命令,将 image 文件从仓库抓取到本地。docker pull library/hello-world//上面代码中,docker image pull是抓取 image 文件的命令。//library/hello-world是 image 文件在仓库里面的位置,//其中library是 image 文件所在的组,hello-world是 image 文件的名字。docker images//现在,运行这个 image 文件。docker run hello-world

输出这段提示以后,hello world就会停止运行,容器自动终止。有些容器不会自动终止,因为提供的是服务,比如Mysql镜像等。

安装Docker Compose

通过 Docker-Compose 用户可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器(被称为一个 project,即项目),例如一个 Web 服务容器再加上后端的数据库服务容器等。

Docker Compose 是 Docker 的独立产品,因此需要安装 Docker 之后在单独安装 Docker Compose .

#下载sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose#安装chmod +x /usr/local/bin/docker-compose#查看版本docker-compose version

常用命令

除过以上我们使用的Docker命令外,Docker还有一些其它常用的命令

拉取docker镜像

docker pull image_name

查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下:

docker images

删除镜像

docker rmi  docker.io/tomcat:7.0.77-jre7   或者  docker rmi b39c68b7af30

查看当前有哪些容器正在运行

docker ps

查看所有容器

docker ps -a

启动、停止、重启容器命令:

docker start container_name/container_iddocker stop container_name/container_iddocker restart container_name/container_id

后台启动一个容器后,如果想进入到这个容器,可以使用attach命令:

docker attach container_name/container_id

删除容器的命令:

docker rm container_name/container_id

删除所有停止的容器:

docker rm $(docker ps -a -q)

查看当前系统Docker信息

docker info

从Docker hub上下载某个镜像:

docker pull centos:latestdocker pull centos:latest

查找Docker Hub上的nginx镜像

docker search nginx

执行docker pull centos会将Centos这个仓库下面的所有镜像下载到本地repository。

部署项目演示(云收藏)

部署SpringBoot项目---云收藏

地址: https://github.com/cloudfavorites/favorites-web

-bash: unzip: 未找到命令 说明未安装过, 只需执行如下命令即可. 同样适用 Unix 内核系统.

yum install -y unzip zip

下拉项目:

wget https://github.com/cloudfavorites/favorites-web/archive/favorites-1.3.0.zip

解压

unzip favorites-1.3.0.zip

进入目录

cd favorites-web-favorites-1.3.0/修改文件application-docker.properties
vi app/src/main/resources/application-docker.properties

修改内容如下

favorites.base.path=http://xx.xxx.xx.xx/ forgotpassword.url=http://xx.xxx.xx.xx/newPassword ---        地址为部署服务器的地址部署命令:```javadocker-compose up --build或者docker-compose up -d
 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userController': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'forgotpassword.url' in value "${forgotpassword.url}"app_1    |      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:379) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]app_1    |      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1344) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]app_1    |      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]app_1    |      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]app_1    |      at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]app_1    |      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]app_1    |      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]app_1    |      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.

修改项目配置文件:

favorites.base.path=http://公网ip/forgotpassword.url=http://公网ip/newPassword

项目启动成功:

访问ip: http://47.100.188.105/ 查看项目首页

到此,关于"如何安装Docker并部署 Spring Boot 项目"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

镜像 容器 命令 项目 文件 服务 服务器 用户 面的 应用 运行 仓库 地址 域名 系统 中国 学习 成功 官方 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 如何删掉两列重复的数据库 软件数据库设计说明书 了解数据库技术的发展及趋势 临沂软件开发待遇 网络安全工程师在哪里招聘 用流量无法连接到服务器是咋回事 杭州汉立互联网科技有限公司培训 数据加密未来网络安全技术 南京crm软件开发哪家好 郑州公众号小程序软件开发 超市销售系统数据库设计 链湾杯网络安全大赛 汉得软件开发平台 2u服务器能用普通的显卡挡板吗 皖事通 获取服务器失败怎么办 网络安全集成服务 网络安全方案排版素材 番禺物联网软件开发公司 新华三杯网络安全竞赛 招聘 软件开发 服务器淘汰下来的处理器怎么样 麦块有什么服务器 软件开发实训用到什么技术 动态综合网络安全防御体系 湖南虚拟服务器云空间 网络技术开发含义 内达互联网科技公司 大学生网络安全的论文题目 网络安全考研有哪些学校招生 大话2 2018年开服服务器
0