您当前的位置:首页 >> 聚焦 >  >> 
今日热闻!docker部署springboot项目到服务器
来源: 博客园      时间:2023-06-15 13:22:29
docker部署springboot demo到vpsdocker安装

首先检查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

安装dockeryum install docker启动docker

systemctl enable dockersystemctl 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: adminUse 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 目录下创建了一个临时文件,并链接到容器的/tmpVOLUME /tmp # 将jar包添加到容器中并更名为app.jarADD 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访问地址,项目部署成功

标签:

X 关闭

X 关闭