Docker部署SpringBoot项目

 

 

Docker

docker安装

  • yum包更新到最新
sudo yum update
  • 安装需要的软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置yum源为阿里云
sudo yum-config-manager  --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
  • 编辑配置文件
1. mkdir -p /etc/docker
2. vim /etc/docker/daemon.json

配置文件内容,可以使用

{
  "registry-mirrors": ["https://docker.mirrors.ustc.cn"]
}

  • 载入配置
systemctl daemon-reload

docker运行

  • 启动相关命令
systemctl restart docker
systemctl stop docker
systemctl start docker
systemctl status docker
systemctl enable docker

  • 开启docker
sudo systemctl start docker

 

  • 开启防火墙 服务器配置总结为三个,防火墙,端口,和安全组

1.查看防火墙状态

firewall-cmd --state

如果没开启,开启防火墙的命令

systemctl start firewalld.service

添加对外开放的端口,一个80(Http端口),一个8080(tomcat),一个2206(mysql)

1. firewall-cmd --zone=public --add-port=80/tcp --permanent
2. firewall-cmd --zone=public --add-port=8080/tcp --permanent
3. firewall-cmd --zone=public --add-port=3306/tcp --permanent

开完端口,重新加载防火墙

firewall-cmd --reload

查看开放的端口

firewall-cmd --list-ports

安装mysql

从docker hub上查找mysql镜像

docker search mysql

从docker hub上拉取mysql,这里拉取的mysql版本是mysql5.7

docker pull mysql:5.7

运行mysql,开放的端口是3306,密码是123456, -d是后台运行

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456789 -d mysql:5.7

docker ps 查看容器创建成功

进入容器

docker exec -it 容器的id /bin/bash

 

  • springboot项目打成jar包,打包的命令有两个
mvn clean 
mvn package

在target文件夹出现jar表示成功

编写Dockfile文件 将springboot jar包项目打包成Docker镜像 在 /home 目录下创建docker文件夹

mkdir /home/docker 

上传jar包 编写Dockerfile文件

vim Dockerfile

完整命令, vim的使用方法:点击i开始编写,编写完后点击esc,点击冒号,输入wq保存

FROM java:8
ADD test-0.0.1-SNAPSHOT.jar /test.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/test.jar"]

注意,docker命令全部大写,这是规定。

FROM java:8

From 关键字表示,jar包依赖的环境。java:8 相当于jdk1.8

ADD test-0.0.1-SNAPSHOT.jar /test.jar

test-0.0.1-SNAPSHOT.jar:这是你上传jar包的名称。 /test.jar:这是自定义的名称。但是注意要有之前的/

EXPOSE 8080

项目暴露的端口号

ENTRYPOINT ["java","-jar","/test.jar"]

/test.jar此处的名称要和ADD命令后面的一样。

构建镜像并运行

docker build -t  if Dockerfile test:1.0 .

说明:

test

代表要打包成的镜像名称。按照自己实际情况写。

:1.0

代表版本号,可以不写则默认为latest

.

代表为当前目录。所以要在Dockerfile目录下。

接下来就可以查看到这个镜像已经被创建好了,运行这个镜像就可以了

docker images

运行镜像

docker run --name test-d -p 80:8080 test:1.0

运行后查看日志

docker logs 容器id或者容器返回id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值