Ubutun部署docker,并使用docker部署springboot项目,关闭软件可继续访问

工具为xftp和xshell。

我这里使用的Ubuntu的版本是20.04的,话不多说,我们来直接上代码。

首先我们最好使用管理员权限进行操作,预防操作时遇到权限问题。

部署docker

登入管理员

不登入管理员也没关系。

java 复制代码
su

根据提示输入密码,进入管理员权限。

更新软件包

java 复制代码
sudo apt update
java 复制代码
sudo apt upgrade

此过程会有些时间长,遇到Y/N时输入y即可。

安装依赖

java 复制代码
apt-get install ca-certificates curl gnupg lsb-release

添加docker密钥

java 复制代码
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

显示ok即可。

添加docker软件源代码

java 复制代码
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

如果出现错误,请登入管理员权限进行操作。

安装docker

java 复制代码
apt-get install docker-ce docker-ce-cli containerd.io

配置用户组

默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo,需重新登录可使用。

java 复制代码
sudo usermod -aG docker $USER

到此我们docker就安装完毕了,我们需要验证一下。

启动docker

java 复制代码
systemctl start docker

安装工具

java 复制代码
apt-get -y install apt-transport-https ca-certificates curl software-properties-common

重启docker

java 复制代码
service docker restart

验证是否成功

java 复制代码
sudo docker run hello-world

运行后出现下图的状态,代表着我们安装没有问题!!!

查看版本号

java 复制代码
sudo docker version

下面这是关于docker的版本信息。

查看镜像

java 复制代码
sudo docker images

部署springboot项目

首先我们把打包好的jar包放到自己想放的ubuntu文件夹里。

创建dockerfile文件

注意这个文件名不要写错,可以大写。

打开xshell,进入此文件夹,输入ls查看。我这边是已经创建好了。

输入下面代码,创建dockerfile文件

java 复制代码
vim dockerfile

按 i 键进行编译。

输入下面内容

java 复制代码
FROM openjdk:11.0.11-jdk-slim

WORKDIR /app

COPY yungongju-0.0.1-SNAPSHOT.jar /app


CMD ["java", "-jar", "yungongju-0.0.1-SNAPSHOT.jar"]

根据自己的进行修改

  • FROM 是java项目对应的jdk版本,使用docker,不需要在部署jdk了
  • WORKDIR 指定构建镜像时使用的目录
  • COPY 将jar包复制到容器中对应的文件中 ,示例 令: nohup java -jar xxx.jar & (nohup表示即使当前连接关闭也执行该命令, & 表示放到后台运行。**

构建镜像

java 复制代码
docker build -t yungongju.

注意:yungongju为镜像名称,可自行定义,后2 面空格和点不要忘记加。

启动容器

java 复制代码
docker run -p 8089:8089 yungongju

8089为端口号 yungongju为镜像。

小白路漫漫,让我们一起加油!!!

相关推荐
kobe_OKOK_23 分钟前
docker compose命名卷 映射到宿主机的路径
运维·docker·容器
OPEN-F2 小时前
Ubuntu 自动登录后 GNOME 远程桌面连不上?一次登录钥匙环锁定的排查与永久修复
linux·运维·ubuntu
计算机毕设定制辅导-无忧学长3 小时前
《基于微信小程序健康习惯激励系统设计与实现》
java·spring boot·mysql·微信小程序·uniapp·健康习惯激励系统
vipxieliang4 小时前
ValidX 正则表达式预编译优化:Pattern 复用策略
java·spring boot·后端
晨陌y5 小时前
Flare自托管导航页教程:Docker部署、多用户、API与公网访问
运维·docker·容器
余槐i5 小时前
Spring Boot 3.2 偶发500无日志:线程池复用导致请求上下文丢失
spring boot·redis·后端·mysql·性能优化
杨凯凡6 小时前
Spring Boot 的 @Transactional 为什么会失效?从代理、自调用到异常回滚的排查实战
java·spring boot·spring·事务·后端开发
A7bert7776 小时前
【MobileSAM部署至RK3588】环境适配→转换RKNN→开发板部署
c++·人工智能·深度学习·目标检测·ubuntu
梅孔立8 小时前
Docker 容器网络不通:Tomcat 无法解析 MySQL、Nginx 无法反代 Tomcat 的生产级排查与治理
网络·docker·tomcat
螺蛳粉 螺蛳粉17 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver