主頁 > 知識庫 > 淺析SpringBoot打包上傳到docker并實現(xiàn)多實例部署(IDEA版)

淺析SpringBoot打包上傳到docker并實現(xiàn)多實例部署(IDEA版)

熱門標(biāo)簽:宜賓銷售外呼系統(tǒng)軟件 高德地圖標(biāo)注公司需要錢 云南電商智能外呼系統(tǒng)哪家好 地圖標(biāo)注能更改嗎 地圖標(biāo)注員有發(fā)展前景嗎 外呼系統(tǒng)全國 濰坊寒亭400電話辦理多少錢 四川保險智能外呼系統(tǒng) 廈門防封電銷電話卡

最近有一個朋友問我有沒有玩過docker,回答起來底氣不是很足 ^ - ^ (剛開始玩cloud的時候接觸過,玩過一會,后面在實際開發(fā)中比較少用,所以基本上可以說是忘記了.),今天花了點時間整理之前的筆記以及整理走一個流程,記錄一下吧,下次玩得時候C V 就好啦~

1. Docker的安裝以及開啟遠程訪問

1.1 安裝

# 檢查虛擬機內(nèi)核版本,必須是3.10及以上
uname -r
# 安裝docker
yum install docker
# 輸入y確認安裝
# 啟動docker
systemctl start docker
# 查看docker版本
docker -v
# 開機啟動docker
systemctl enable docker
# 停止docker
systemctl stop docker
# 重啟docker
systemctl restart docker

1.2 開啟遠程訪問

修改文件 docker.service

vim /usr/lib/systemd/system/docker.service

修改ExecStart這行
#ExecStart=/usr/bin/dockerd -H fd://–containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

# 重新加載配置文件
systemctl daemon-reload 
# 重啟服務(wù)
systemctl restart docker.service 
# 查看端口是否開啟 (如果是阿里云等服務(wù)器,需要 "安全" -> "防火墻" 開啟端口2375)
netstat -nlpt
# 查看是否生效
curl http://127.0.0.1:2375/info

2. IDEA 安裝 docker 插件并且連接

2.1 安裝插件

這個很簡單,就一步一步截圖了。。。(這個誰呀,怎么使用漢化的的 IDEA 呀~~)

2.2 連接docker

3. 打jar包并且編寫Dockerfile打jar這個在這里不贅述。。。編寫Dockerfile,注意一下劃線的地方,然后注意修改一下

FROM java:8
# 維護者信息
MAINTAINER houyu
# 這里的 /tmp 目錄就會在運行時自動掛載為匿名卷,任何向 /tmp 中寫入的信息都不會記錄進容器存儲層
VOLUME /tmp
# 復(fù)制上下文目錄下的 /build/libs/fastboot-0.0.1.jar 到容器里
COPY /build/libs/fastboot-0.0.1.jar fastboot-0.0.1.jar
# bash方式執(zhí)行,使fastboot-0.0.1.jar可訪問
# RUN新建立一層,在其上執(zhí)行這些命令,執(zhí)行結(jié)束后, commit 這一層的修改,構(gòu)成新的鏡像。
RUN bash -c "touch /fastboot-0.0.1.jar"
# 指定時區(qū)
# ENV TZ='Asia/Shanghai'
# 聲明運行時容器提供服務(wù)端口,這只是一個聲明,在運行時并不會因為這個聲明應(yīng)用就會開啟這個端口的服務(wù)
EXPOSE 10007
# 指定容器啟動程序及參數(shù) <ENTRYPOINT> "<CMD>"
ENTRYPOINT ["java","-jar","fastboot-0.0.1.jar", "--spring.profiles.active=prod"]

4. IDEA 配置構(gòu)建鏡像

4.1 配置運行腳本

4.2 運行腳本

5. 宿主機查看鏡像并且確認部署成功

6. 部署多實例

具體的命令在后面:

操作腳本

# 查看鏡像
docker images
# 查看安裝的容器
docker ps -a
# 克隆c1726e8f3819鏡像 安裝成為一個fb1.2的容器
# -d:后臺運行
# -p: 將主機的端口映射到容器的一個端口 主機端口:容器內(nèi)部的端口
docker run --name fb1.2 -d -p 10008:10007 c1726e8f3819 
# 查看安裝的容器
docker ps -a 
# 查看運行中的容器
docker ps 
# 驗證fb1.1
curl 127.0.0.1:10007 
# 驗證fb1.2
curl 127.0.0.1:10008

常用的docker命令(私人美酒)

1)、鏡像操作(https://hub.docker.com/)

1、檢索鏡像的詳細信息,如鏡像的TAG。
docker search 鏡像關(guān)鍵字    如:docker search redis
2、拉取鏡像(:tag是可選的,tag表示標(biāo)簽,多為軟件的版本,默認是latest)
docker pull registry.docker-cn.com/library/redis:5.0.3 加速拉取
docker pull 加速地址+鏡像名:tag    如:docker pull redis:5.0.3
3、查看所有本地鏡像
docker images
4、刪除指定的本地鏡像
docker rmi 鏡像Id或名稱   如:docker rmi Tomcat
5、重命名鏡像
docker tag IMAGEID(鏡像id) REPOSITORY:TAG(倉庫:標(biāo)簽)

2)、容器操作(軟件鏡像----運行鏡像----產(chǎn)生一個容器)

1、搜索鏡像
docker search tomcat
2、拉取鏡像(:tag是可選的,tag表示標(biāo)簽,多為軟件的版本,默認是latest)
docker pull tomcat:latest
3、根據(jù)鏡像啟動容器(latest可以省略,其他標(biāo)簽一定要加上)
-d:后臺運行
-p: 將主機的端口映射到容器的一個端口 主機端口:容器內(nèi)部的端口
docker run --name 別名 -d 主機端口:容器內(nèi)部的端口 REPOSITORY/IMAGE ID
如:docker run --name mytomcat -d 8080:8080 tomcat:latest
3.1 重啟容器
docker restart 容器名稱/ID
4、查看運行中的容器
docker ps
5、查看所有已安裝的容器
docker ps -a
6、停止運行中的容器
docker stop 容器的id/名稱
7、啟動容器
docker start 容器的id/名稱
8、刪除一個容器
docker rm 容器的id/名稱
9、查看容器的日志
docker logs container-name/container-id(容器名稱或容器ID)
10、進入指定容器空間
docker exec -it 容器名稱/ID /bin/bash
如:docker exec -it tensquare_es /bin/bash

7. 安全問題請不要在線上環(huán)境開啟docker遠程訪問,否則可能會被當(dāng)做肉機

具體可閱 Docker暴露2375端口導(dǎo)致服務(wù)器被攻擊解決方法!

到此這篇關(guān)于淺析SpringBoot打包上傳到docker并實現(xiàn)多實例部署(IDEA版)的文章就介紹到這了,更多相關(guān)spring boot 打包上傳docker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:廣安 廊坊 德州 紅河 回訪 滁州 巴彥淖爾 湛江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析SpringBoot打包上傳到docker并實現(xiàn)多實例部署(IDEA版)》,本文關(guān)鍵詞  淺析,SpringBoot,打,包上,傳到,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺析SpringBoot打包上傳到docker并實現(xiàn)多實例部署(IDEA版)》相關(guān)的同類信息!
  • 本頁收集關(guān)于淺析SpringBoot打包上傳到docker并實現(xiàn)多實例部署(IDEA版)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章