Centos7服務器配置Docker運行SpringBoot項目

Centos7服務器配置Docker運行SpringBoot項目

一、準備工作

本文講述的是服務版本,所以需要下載SecureCRT工具,數據庫Mysql8.0.17,SpringBoot版本2.1.9。

二、Centos7安裝Docker

1.卸載舊版本

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

2.安裝 Docker Engine-Community

在新主機上首次安裝 Docker Engine-Community 之前,需要設置 Docker 倉庫。之後,您可以從倉庫安裝和更新 Docker。

設置倉庫

安裝所需的軟件包。yum-utils 提供了 yum-config-manager ,並且 device mapper 存儲驅動程序需要 device-mapper-persistent-data 和 lvm2。

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

使用以下命令來設置穩定的倉庫。

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3.安裝 Docker Engine-Community

安裝最新版本

sudo yum install docker-ce docker-ce-cli containerd.io

要安裝特定版本的 Docker Engine-Community,請在存儲庫中列出可用版本,然後選擇並安裝:

a、列出並排序您存儲庫中可用的版本。此示例按版本號(從高到低)對結果進行排序。

yum list docker-ce --showduplicates | sort -r

b、通過其完整的軟件包名稱安裝特定版本,該軟件包名稱是軟件包名稱(docker-ce)加上版本字符串(第二列),從第一個冒號(:)一直到第一個連字符,並用連字符(-)分隔。例如:docker-ce-18.09.1。

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

4.啓動Docker

sudo systemctl start docker

5.鏡像加速

vim /etc/docker/daemon.json
#輸入{"registry-mirrors":["https://registry.docker-cn.com"]}
#然後退出保存
#重啓服務
sudo systemctl daemon-reload
sudo systemctl restart docker

三、Docker安裝Mysql8.0.17

sudo docker pull mysql:8.0.17#下載鏡像
sudo docker images#查看鏡像
mkdir -p ~/mysql_8.0.17/data ~/mysql_8.0.17/log ~/mysql_8.0.17/conf#創建目錄
cd ~/mysql_8.0.17#進入目錄
#docker run :創建一個新的容器並運行一個命令,不管是否成功運行都會創建一個容器
sudo docker run -p 3306:3306 --name mysql8 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 -d mysql:8.0.17
#顯示所有容器,包括未運行的
sudo docker ps -a
#如果run命令出現錯誤,但是容器已經創建,可以使用start命令運行
sudo docker start 容器id或name
#停止
sudo docker stop 容器id或name
#啓動成功後,進入容器
docker exec -it 容器id或name bash
#登錄mysql數據庫
mysql -uroot -p
#修改root密碼,非必要
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
#添加遠程登錄用戶,非必要
CREATE USER '用戶名'@'%' IDENTIFIED WITH mysql_native_password BY '你的密碼';
GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'%';#一定設置,否則可能會出CannotGetJdbcConnectionException異常

run命令說明

  • -p 3306:3306:將容器的 3306 端口映射到主機的 3306 端口。
  • -v -v $PWD/conf:/etc/mysql/conf.d:將主機當前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。
  • -v $PWD/logs:/logs:將主機當前目錄下的 logs 目錄掛載到容器的 /logs。
  • -v $PWD/data:/var/lib/mysql :將主機當前目錄下的data目錄掛載到容器的 /var/lib/mysql 。
  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用戶的密碼。

四、SpringBoot項目配置

server:
  port: 8080
  servlet:
    context-path: /sign
spring:
  datasource:
    username: 用戶#一定是要有權限的用戶
    password: 密碼
    url: jdbc:mysql://localhost:3306/數據庫?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
    driver-class-name: com.mysql.cj.jdbc.Driver#mysql6或以上需要這樣寫

將項目打包成jar,並且上傳到服務器可以使用java -jar XXX.jar運行項目,即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章