• docker部署springboot项目到服务器


    docker部署springboot demo到vps

    docker安装

    首先检查docker是否安装
    docker version

    出现上述界面就是安装成功

    如果没有安装docker的话,运行以下命令
    删除旧版本的docker

    yum remove docker \
        docker-client \
        docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-selinux \
        docker-engine-selinux \
        docker-engine
    

    安装依赖包(centos)

    yum install -y yum-utils \
        device-mapper-persistent-data \
        lvm2
    

    安装docker
    yum install docker
    启动docker

    systemctl enable docker
    systemctl start docker
    

    查看安装结果
    docker version

    配置镜像(如果是阿里云的服务器,安装后默认就是阿里云的docker镜像源,可以不用修改)

    {
      "registry-mirrors": [
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn"
      ]
    }
    

    重启
    systemctl restart docker

    安装portainer,可视化界面

    docker pull portainer/portainer

    sudo docker volume create portainer_data

    sudo docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
    出现以下界面说明安装成功了

    如果之前安装过,忘记密码,可以进行如下操作
    停止正在运行的Portainer

    docker stop "id-portainer-container"

    运行重置命令

    docker run --rm -v portainer_data:/data portainer/helper-reset-password

    如果你的Portainer 挂载目录不是 portainer_data 则会提示
    Unable to locate /data/portainer.db on disk

    查看你的portainer 挂载信息
    docker inspect "id-portainer-container"

    需要运行的重置命令为:

    docker run --rm -v /var/snap/docker/common/var-lib-docker/volumes/c822de987380b92b5372fad6a19fd26bc6748fadf7ca2e404674cd7bfdcaa387/_data:/data portainer/helper-reset-password

    如果成功,输出应如下所示:

    
    Password successfully updated for user: admin
    
    Use the following password to login: &_4#\3^5V8vLTd)E"NWiJBs26G*9HPl1
    

    重新运行portianer

    docker start "id-portainer-container"

    下面就是进入主页面,可以进行更改密码

    安装mysql

    docker pull mysql
    
    #MYSQL_ROOT_PASSWORD后面填写自己的root密码
    docker run --name mysql80 -e MYSQL_ROOT_PASSWORD=123456-d mysql
    #也可以运行如下命令,自动开启MySQL容器在后台运行
    docker run -d --name mysql80 -e MYSQL_ROOT_PASSWORD=123456 --restart always mysql
    

    阿里云安全组放行3306端口

    使用navicat连接服务器的mysql
    这时会出现错误

    进入portainer界面mysql的console界面

    mysql -uroot -p
    此时连接成功

    使用以下命令进行授权所有主机进行访问

    # 修改授权,赋予任何主机访问数据库的权限
    # mysql8.0以下
    GRANT ALL PRIVILEGES ON *.* TO “root”@”%” IDENTIFIED BY '数据库密码' WITH GRANT OPTION;   
    GRANT ALL PRIVILEGES ON *.* TO “root”@”%” IDENTIFIED BY '123456' WITH GRANT OPTION;   
    
    mysql8.0以上
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
    FLUSH PRIVILEGES;
    

    navicat连接成功

    然后建立数据库
    将本地springboot项目打包成jar包
    编写dockerfile

    FROM openjdk:8
    # VOLUME 指定了临时文件目录为/tmp。
    # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
    VOLUME /tmp 
    # 将jar包添加到容器中并更名为app.jar
    ADD user.jar app.jar 
    # 运行jar包
    RUN bash -c 'touch /app.jar'
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
    

    创建docker文件夹,将jar包与Dockerfile移动到该文件夹,进入该文件夹,运行命令:
    docker build -t app .
    查看镜像
    docker images
    运行镜像
    docker run -d -p 8082:8888 app
    访问地址,项目部署成功

  • 相关阅读:
    【洛谷】P3378 【模板】堆
    【随想】闲聊、沟通和谈判
    《机器人学一(Robotics(1))》_台大林沛群 第 5 周【机械手臂 轨迹规划】 Quiz 5
    Leetcode 2239. Find Closest Number to Zero (Python)
    Execute Crond Service on openEuler
    使用element-plus的el-upload:1.手动上传2.第二次上传无效3.多图上传保留成功去除失败4.请求头添加token5.请求添加其他参数
    第五十七讲 GPIO子系统
    Vant Weapp的Slider组件自定义button
    acclerator和tensorboard共同使用采坑记录
    机器学习模型常用评价指标(Accuracy, Precision, Recall、F1-score、MSE、RMSE、MAE、R方)
  • 原文地址:https://www.cnblogs.com/scmie/p/17482596.html