通過docker,部署SpringCloud項目


在虛擬機(CentOS)中安裝啟動docker

  • 一般情況下載CentOS中我們通過yum命令安裝軟件, 但是在測試或開發環境中 Docker 官方為了簡化安裝流程,提供了一套便捷的安裝腳本,CentOS 系統上可以使用這套腳本安裝:

     $ curl -fsSL get.docker.com -o get-docker.sh
     $ sudo sh get-docker.sh --mirror Aliyun
    

    執行這個命令后,腳本就會自動的將一切准備工作做好,並且把 Docker CE 的 Edge 版本安裝在系統中。

  • 啟動 Docker CE

     $ sudo systemctl enable docker
     $ sudo systemctl start docker
    
  • 建立 docker 用戶組
    默認情況下,docker 命令會使用 Unix socket 與 Docker 引擎通訊。而只有 root 用戶和 docker 組的用戶才可以訪問 Docker 引擎的 Unix socket。出於安全考慮,一般 Linux 系統上不會直接使用 root 用戶。因此,更好地做法是將需要使用 docker 的用戶加入 docker 用戶組。

    $ sudo groupadd docker
    

    將當前用戶加入 docker 組:

     $ sudo usermod -aG docker $USER
    

    退出當前終端並重新登錄,進行如下測試。

  • 測試 Docker 是否安裝正確

     $ docker run hello-world
      Unable to find image 'hello-world:latest' locally
      ....
    

    若能正常輸出以上信息,則說明安裝成功。

  • 鏡像加速
    我使用的是阿里雲的鏡像,地址為阿里雲鏡像加速

  • 添加內核參數
    默認配置下,如果在 CentOS 使用 Docker CE 看到下面的這些警告信息:

     WARNING: bridge-nf-call-iptables is disabled
     WARNING: bridge-nf-call-ip6tables is disabled
    

    請添加內核配置參數以啟用這些功能。

     $ sudo tee -a /etc/sysctl.conf <<-EOF
     net.bridge.bridge-nf-call-ip6tables = 1
     net.bridge.bridge-nf-call-iptables = 1
     EOF
    

    然后重新加載 sysctl.conf 即可

     $ sudo sysctl -p
    

將項目制作成鏡像, 並使用docker compose 啟動(以SpringCloud-Config項目為例)

在創建SpringCloud-Config文件夾,並將打包好的項目復制到改文件夾下,並創建一個docker文件夾

 cd docker #進入docker文件夾 

 cp ./springcloud-config.jar .  #復制jar包到docker文件夾下 

 vi Dockerfile #創建編寫Dockerfile, 下面一段為Dockerfile基本內容
 # FROM openjdk:8-jre 
 # RUN mkdir /app 
 # COPY springcloud-config-1.0.0-SNAPSHOT.jar /app/ 
 # CMD java -jar /app/springcloud-config-1.0.0-SNAPSHOT.jar 
 # EXPOSE 8888 

 vi docker-compose.yml #創建編寫docker-compose.yml文件,  下面一段為yml基本內容
 #version: '3.1'
 #services:
 #springcloud-config:
   #restart: always
   #image: springcloud-config
   #container_name: springcloud-config
   #ports:
   #- 8888:8888

 docker build -t springcloud-config # 創建鏡像
 docker-compose up  #啟動鏡像


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM