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

你可能感兴趣的:(Docker,java,docker,linux,spring,boot,spring)