首页 > 其他分享 >Springboot项目构建docker镜像发布到aliyun服务器

Springboot项目构建docker镜像发布到aliyun服务器

时间:2022-08-15 12:24:36浏览次数:63  
标签:容器 Springboot jar nginx aliyun mysql 镜像 docker

一、1.先下载docker

//1.先删除原本可能存在的docker
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
//2.设置仓库
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//3.下载最新版本的docker
sudo yum install docker-ce docker-ce-cli containerd.io
//4.启动docker
systemctl start docker
或
service docker start 
//5.检查docker是否安装成功
docker version
//6.设置开机自启
systemctl enable docker
//7.设置aliyun加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://3n4m4jry.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

2.docker基本使用

docker的基本命令

docker 镜像: ----java中 class

docker容器 : ----java中 class new 出来的实例对象

对于镜像和容器的简单理解,容器是在镜像上创建了可写层,等于是镜像的实例

docker run 镜像名

docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash //运行一个容器,等于是给他一个进程号,创建一个新的容器并运行一个命令,是将镜像放入容器并启动容器。

docker exec -it 容器名/容器ID /bin/bash //进入一个容器

docker attach 容器名/容器ID //进入一个容器的方法二

exit //退出容器,对应exec和attach

docker stop 容器ID //对应run

docker start 容器ID/容器名 //启动一个或多个已经被停止的容器。类似用法的还有docker stop和docker restart。

3.下载mysql

docker pull mysql5.7 //拉取mysql镜像,然后启动

docker exec -it mysql5.7 /bin/bash

// 登录mysql:
mysql -uroot -proot
// 修改权限:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
或者:ALTER USER 'root'@'%' IDENTIFIED BY '123456';
flush privileges;

docker 自启动redis和mysql

docker update mysql --restart=always
docker update redis --restart=always

还需下载和配置jdk和nginx

4.启动项目

将jar包通过WinSCP上传到服务器,然后通过指令
nohup java -jar jar包名称 &
后台启动项目,保证不会一关闭xshell就关闭了项目
通过
ps -ef | grep java查看jar包是否运行

5.打包前端项目

npm run bulid
安装
npm install anywhere -g前端静态资源服务器,通过任意端口访问文件
anywhere -p 8080 就会在8080启动这个项目,可以访问dist文件夹下的文件
将vue打包的dist放在服务器
vue dist nginx配置: 是在nginx.conf文件中

location / {
            root /home/server/dist;
            index index.html index.htm;
            try_files $uri $uri/ /index.html;//刷新不会出现404
        }

重启nginx
/nginx -s reload
访问原来ip地址的80端口就好
注意:前端文件上传和导出的 url都需要配置 serverIp

6.可以正常访问

7.还可以修改映射

hosts文件:
C:\Windows\System32\drivers\etc

IP地址替换为服务器IP,localhost替换为任意,比如www.ruirui.com

二、还可以把项目构建成镜像,上面是将docker部署为环境

自己写DockerFile

docker build -t demo:0.0.1 //构建镜像的指令

说明:
 -t 参数指定构建成后,镜像的仓库、标签等
demo:0.0.1   demo镜像名称、0.0.1 镜像标签

如何将Docker镜像上传到Docker hub仓库

  1. 先创建Docker hub账号,记住username password后面验证时,需要使用到。

  2. 先登录Docker hub

docker login -u username -p passwork
  1. 将构建好的镜像打上标签
docker tag demo:0.0.1 username/demo:0.0.1
说明:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
             本地镜像名称:版本号  DockerHub账号名/镜像名称:版本号
  1. 之后就可以docker中使用java -jar启动

标签:容器,Springboot,jar,nginx,aliyun,mysql,镜像,docker
From: https://www.cnblogs.com/ruiruizhou/p/16587840.html

相关文章

  • 微服务Docker打包
    微服务Docker打包Jib是Google开发的可以直接构建Java应用的Docker和OCI镜像的类库,以Maven和Gradle插件形式提供。Jib带来的是,它允许您通过简单地将插件添加......
  • (防坑)Alphafold 非docker 安装指南
    本指南适用于Linux系统。Alphafold官方也强调尽量使用Linux系统!官方提供了docker版安装步骤。Alphafold简介:强大的蛋白质结构预测。开源地址:https://github.com......
  • SpringBoot实例
    原文链接SprintBoot的完整实例,从数据库读取数据并使用Postman测试。项目地址:https://github.com/Snowstorm0/learn-spring-boot1本地数据库本地数据库创建教程:创建......
  • Docker-Desktop在Ubuntu系统中的安装问题
    Docker-Desktop在Linux系统中的安装包为DEB包.deb安装包正常情况下无法直接通过UbuntuSoftware进行安装,需要安装相应的插件/支持。当然也可以通过命令行进行安装,如:su......
  • Docker命令速查
    Docker命令显示所有正在运行的docker容器dockerps显示所有docker容器dockerps-a运行容器dockerrun:运行一个容器并连接到它dockerrun-it:在后台运行容器......
  • redis 和docker等名词了解
    redisredis产生redis是MySQL数据库经常直接面对大量的读写访问,面对比较复杂的数据据操作,会导致数据库I/O反映缓慢或者奔溃;有人研究学习CPU从内寸直接读取数据,把MYSQL经......
  • SpringBoot 过滤器和拦截器---实现全局接口日志输出
    SpringBoot过滤器和拦截器---实现全局接口日志输出首先,看一张图:Tomcat收到请求之后,会先通过过滤器Filter,该过滤器属于JavaHttp框架(过滤器采用接口回调的方式来运行......
  • SpringBoot-----SpringBoot @Conditional注解自动配置报告
    一、@Conditional简介@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册Bean。SpringBoot是根据配置文件的内容决定是否创建Bean,以......
  • 【问题解决】解决使用aliyuncdn加速的域名证书不同步问题
    今天登录上博客发现好家伙资源链全挂了,进去一看发现是证书到期了,但是我回服务器查看证书发现证书已经更新而且是有效状态,清缓存一类的都尝试过了,依旧不行,然后网上找到了一......
  • 【SpringBoot】学习笔记-MVC
     自动配置了ViewResolver,就是我们之前学习的SpringMVC的视图解析器;即根据方法的返回值取得视图对象(View),然后由视图对象决定如何渲染(转发,重定向)。我们去看看这里的源码......