1.第一种方式
首先你要有一个Linux电脑安装了docker
首先你如果不会创建springboot项目看看我这一篇博客https://blog.csdn.net/weixin_44012722/article/details/105606595
maven打包springboot项目
编写一个Dockerfile.txt
FROM java:8
# author
MAINTAINER lzj <lzj@lzj.cn>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD dockerspringboot-0.0.1-SNAPSHOT.jar app.jar
# ENTRYPOINT用于容器启动以后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
然后把.txt文件后缀删掉
把jar文件和Dockerfile文件拷入linux的一个目录下
输入以下docker命令
···
#根据Dockerfile创建镜像 名字为dockerspringboot 注意有个.
sudo docker build -t dockerspringboot .
#然后它就会拉取镜像从docker仓库 如果太慢了 可以弄个阿里镜像加速 操作如下
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://uxlts2wu.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#启动dockerspringboot镜像到容器里 -d是后台运行 -p指定端口 运行端口:暴露到外面的端口
sudo docker run --name dockerspringboot -p 8083:8083 -d dockerspringboot
···
现在我们测试一下访问一下
大功告成!!!!!
2.第二种方式
用idea连接docker部署项目,先打开idea设置创建docker连接
如果显示 connection suuccessful 就是连接成功,如果失败检查一下ip地址并去服务器输入netstat -ntlp|grep 2375查看2375端口是否被监听,没有的话去打开docker2375连接端口操作如下
sudo vim /lib/systemd/system/docker.service
修改ExecStart行为下面内容
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
systemctl daemon-reload // 1,加载docker守护线程
systemctl restart docker // 2,重启docker
如果你是真实的服务器记得要放行 端口安全组(但是开启2375端口容易被黑客远程放入挖矿机镜像,开启需做好防范,推荐使用 CA加密端口,如何操作看我这篇博客https://blog.csdn.net/weixin_44012722/article/details/105644319)
把阿里的镜像注册一下 方便我们拉取镜像
阿里云的镜像地址 https://uxlts2wu.mirror.aliyuncs.com
点击OK完成
启动docker连接
打包你的springboot项目
mvn clean package
这时候就会看到生成了target,在target目录下有你的jar项目包
编写Dockerfile文件(放哪都可以建议放在main下新建一个docker文件夹中 注意下面的docker命令配置你的Dockerfile的目录路径即可)
FROM java:8
# author
MAINTAINER lzj <lzj@lzj.cn>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD dockerspringboot-0.0.1-SNAPSHOT.jar app.jar
# ENTRYPOINT用于容器启动以后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
创建一个docker命令配置
运行Docker命令
测试访问一下
大功告成!!!!!!!