使用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
安裝dockeryum 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 目錄下創(chuàng)建了一個臨時文件,并鏈接到容器的/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"]
創(chuàng)建docker文件夾,將jar包與Dockerfile移動到該文件夾,進入該文件夾,運行命令:docker build -t app .
查看鏡像docker images
運行鏡像docker run -d -p 8082:8888 app
訪問地址,項目部署成功
到此這篇關于使用docker部署springboot項目到服務器的詳細過程的文章就介紹到這了,更多相關docker部署springboot項目到服務器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Ubuntu系統(tǒng)下docker?Pull鏡像錯誤timeout解決辦法
最近在用docker搭個開發(fā)環(huán)境,發(fā)現在拉取鏡像的時候有點問題,這篇文章主要給大家介紹了關于Ubuntu系統(tǒng)下docker?Pull鏡像錯誤timeout的解決辦法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07Docker下利用jenkins和docker實現持續(xù)交付
這篇文章主要介紹了利用jenkins和docker實現持續(xù)交付功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05docker-compose部署zabbix+grafana的實現
這篇文章主要介紹了docker-compose部署zabbix+grafana的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-11-11