docker构建spring boot 简单demo

本文介绍了如何在CentOS 7环境下安装Docker,并详细讲述了如何从搭建Spring Boot项目到构建Docker镜像,最后将应用容器化并进行端口映射,实现通过主机IP访问Spring Boot应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

笔者也是刚刚接触docker 和spring boot ,花了2天时间初步能将一个boot项目部署进docker,算是入门。也和大家分享一下,如果有不对的地方还请多多交流。

Docker安装
系统环境:CentOS 7
1、先卸载自带的docker
查询

 yum list installed | grep docker

卸载

yum -y remove docker-engine.x86_64
yum remove -y docker-engine-selinux.noarch

2、升级本地yum包

 yum update

3、 添加yum 仓库配置

tee /etc/yum.repos.d/docker.repo <<-'EOF'
> [dockerrepo]
> name=Docker Repository
> baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
> enabled=1
> gpgcheck=1
> gpgkey=https://yum.dockerproject.org/gpg
> EOF

4、安装docker

yum install docker-engine

5、启动

service docker start

6、设置开机启动

chkconfig docker on

7、镜像加速
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ff8d923d.m.daocloud.io
service docker restart

以上为笔者收集并且安装成功的命令,供大家参考。

docker镜像下载

先搜索

 docker search centos7

搜出来一堆,由于spring-boot 只需要java环境,所以我这边选择了flyceek/centos7-jdk
下载镜像

docker pull flyceek/centos7-jdk

查看镜像
docker images
可以看到本地以及有镜像了

构建一个拥有spring boot项目的镜像(通过Dockerfile build来构建)
1、首先我们需要一个spring boot项目,项目代码上传至开源git上:https://git.oschina.net/siliangysd/spring-boot.git
把项目down下来之后,给项目打包,mvn clean package-Dmaven.test.skip=true
2、创建Dockerfile文件:

FROM flyceek/centos7-jdk    
VOLUME /tmp
ADD spring-boot/target/spring-boot.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

FROM 为你需要使用的基础镜像
VOLUME /tmp创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录
ADD spring-boot-docker-0.1.0.jar app.jar 将应用jar包复制到/app.jar
ENTRYPOINT表示容器运行后默认执行的命令

3、构建应用镜像

docker build -t siliang/spring-boot-app .

最后的 . 是Dockerfile的路径,可以是绝对路径。

4、运行容器

docker run -d -p 8080:8080 --name sample-app siliang/spring-boot-app

-d 是后台运行,-p 是将容器的8080端口映射至主机的8080端口,这样就可以直接访问。-name 相当于别名的意思。
5、访问:http://xxx.xxx.xxx.xxx:8080/index
能访问到说明成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值