简介:

Docker 运行springboot项目其实配置非常简单,跟咱们直接到Linux上运行springboot是一样一样的。开始

一:咱们首先要有一个运行Docker环境

第一步:使用 yum 安装(CentOS 7下)

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

[root@iZbp1gp1t778obaz5m8vk8Z ~]# uname -r
3.10.0-957.21.3.el7.x86_64

第二步:安装 Docker

Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:

[root@iZbp1gp1t778obaz5m8vk8Z ~]# yum -y install docker

安装完成。

第三步:启动 Docker 后台服务

[root@iZbp1gp1t778obaz5m8vk8Z ~]# service docker start

第四步:测试运行 hello-world

[root@izwz99z5o9dc90keftqhlrz ~]# docker run hello-world
 
Hello from Docker!
This message shows that your installation appears to be working correctly.
 
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
  (amd64)
 3. The Docker daemon created a new container from that image which runs the
  executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
  to your terminal.
 
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
 
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
 
For more examples and ideas, visit:
 https://docs.docker.com/get-started/

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行,好了咱们开始真实的使用。

二:咱们开始来自己的docker springboot的配置

第一步:创建运行docker 的运营账号 新增加-与后面的文档内容无关【运营一般是不能用root去干的哈

[root@iZbp1gp1t778obaz5m8vk8Z ~]# useradd -d /home/hn-docker -m hn-docker  #创建一个运营账号
[root@iZbp1gp1t778obaz5m8vk8Z ~]# 
[root@iZbp1gp1t778obaz5m8vk8Z ~]# passwd hn-docker  #修改密码
Changing password for user hn-docker.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@iZbp1gp1t778obaz5m8vk8Z ~]# sudo groupadd docker		#添加docker用户组,如果已有就不用
[root@iZbp1gp1t778obaz5m8vk8Z ~]# sudo gpasswd -a hn-docker docker  ##将登陆用户加入到docker用户组中
Adding user hn-docker to group docker

第二步:开始做docker的运维

[root@izwz99z5o9dc90keftqhlrz Docker]# pwd
/root/Docker
[root@izwz99z5o9dc90keftqhlrz Docker]# 
[root@izwz99z5o9dc90keftqhlrz Docker]# 
[root@izwz99z5o9dc90keftqhlrz Docker]# mkdir elasticsearch
[root@izwz99z5o9dc90keftqhlrz Docker]# 
[root@izwz99z5o9dc90keftqhlrz Docker]# cd elasticsearch/
[root@izwz99z5o9dc90keftqhlrz elasticsearch]#

1、运行mvn install 将项目打包成jar包
2、复制jar包到当前创建的文件夹中,和Dockerfile文件到一个文件夹下

[root@izwz99z5o9dc90keftqhlrz elasticsearch]# touch Dockerfile 
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# vi Dockerfile 
 
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER shixiong <741096017@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar,可以使用相对路径、绝对路径,这里相对路径
ADD springboot-es6.jar /springboot-es6.jar
# 运行jar包
RUN bash -c 'touch /springboot-es6.jar'
#设置时区-不然比当前时间慢8小时
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springboot-es6.jar"]

三:构建我们的springboot项目至Docker,生成docker镜像

3、进入该文件夹,然后运行命令,带版本,不带版本 运行时不一样哟!!!

[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker build -t springboot-es6:v1.0 .
上面的配置:运行时命令为:
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6:v1.0
 
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker build -t springboot-es6 .
上面的配置:运行时命令为:
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6

Linux Docker运行springboot项目的步骤详解

带了v1.0生成的镜像,跑错了命令就是在这样:

Linux Docker运行springboot项目的步骤详解

四:Docker内运行springboot项目

[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6
e7a56662f804ef72e7dcae3fa71e840c35e28e18aa1aff7e98b71d900b17c305
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# 

五:看看我们的接口能否使用了

Linux Docker运行springboot项目的步骤详解

接口完美使用,后面写怎么管理容器、日志怎么查看。

标签:
Docker运行springboot项目,Dockerspringboot项目

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“Linux Docker运行springboot项目的步骤详解”

暂无“Linux Docker运行springboot项目的步骤详解”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。