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为镜像。

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

相关推荐
__lll_28 分钟前
手把手教你用 Docker 部署 Vue 项目(含国内镜像加速 + 踩坑指南)
docker
Q_Q19632884751 小时前
python的电影院座位管理可视化数据分析系统
开发语言·spring boot·python·django·flask·node.js·php
悟纤4 小时前
Spring Boot 实用小技巧:多级缓存(Caffeine + Redis)- 第545篇
spring boot·后端·spring
MrSYJ5 小时前
UserDetailService是在什么环节生效的,为什么自定义之后就能被识别
java·spring boot·后端
Noii.6 小时前
Spring Boot初级概念及自动配置原理
java·spring boot·后端
勿在浮沙筑高台6 小时前
无法获取实体类com.example.springdemo2.entity.po.UserPO对应的表名!
java·spring boot·mybatis
掉头发的王富贵7 小时前
ShardingSphere-JDBC入门教程(上篇)
spring boot·后端·mysql
程思扬8 小时前
Nextcloud容器化部署革新:Docker+Cpolar构建高效私有云远程访问新架构
docker·容器·架构
豆芽脚脚9 小时前
docker compose再阿里云上无法使用的问题
阿里云·docker·容器
十行代码九行报错11 小时前
Docker基础学习笔记
笔记·学习·docker