您好,登錄后才能下訂單哦!
這篇文章主要講解了SpringBoot打包上傳到docker并實現多實例部署的方法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
最近有一個朋友問我有沒有玩過docker,回答起來底氣不是很足 ^ - ^ (剛開始玩cloud的時候接觸過,玩過一會,后面在實際開發中比較少用,所以基本上可以說是忘記了.),今天花了點時間整理之前的筆記以及整理走一個流程,記錄一下吧,下次玩得時候C V 就好啦~
1. Docker的安裝以及開啟遠程訪問
1.1 安裝
# 檢查虛擬機內核版本,必須是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 # 重啟服務 systemctl restart docker.service # 查看端口是否開啟 (如果是阿里云等服務器,需要 "安全" -> "防火墻" 開啟端口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 # 復制上下文目錄下的 /build/libs/fastboot-0.0.1.jar 到容器里 COPY /build/libs/fastboot-0.0.1.jar fastboot-0.0.1.jar # bash方式執行,使fastboot-0.0.1.jar可訪問 # RUN新建立一層,在其上執行這些命令,執行結束后, commit 這一層的修改,構成新的鏡像。 RUN bash -c "touch /fastboot-0.0.1.jar" # 指定時區 # ENV TZ='Asia/Shanghai' # 聲明運行時容器提供服務端口,這只是一個聲明,在運行時并不會因為這個聲明應用就會開啟這個端口的服務 EXPOSE 10007 # 指定容器啟動程序及參數 <ENTRYPOINT> "<CMD>" ENTRYPOINT ["java","-jar","fastboot-0.0.1.jar", "--spring.profiles.active=prod"]
4. IDEA 配置構建鏡像
4.1 配置運行腳本
4.2 運行腳本
5. 宿主機查看鏡像并且確認部署成功
6. 部署多實例
具體的命令在后面:
操作腳本
# 查看鏡像 docker images # 查看安裝的容器 docker ps -a # 克隆c1726e8f3819鏡像 安裝成為一個fb1.2的容器 # -d:后臺運行 # -p: 將主機的端口映射到容器的一個端口 主機端口:容器內部的端口 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 鏡像關鍵字 如:docker search redis
2、拉取鏡像(:tag是可選的,tag表示標簽,多為軟件的版本,默認是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(倉庫:標簽)
2)、容器操作(軟件鏡像----運行鏡像----產生一個容器)
1、搜索鏡像
docker search tomcat
2、拉取鏡像(:tag是可選的,tag表示標簽,多為軟件的版本,默認是latest)
docker pull tomcat:latest
3、根據鏡像啟動容器(latest可以省略,其他標簽一定要加上)
-d:后臺運行
-p: 將主機的端口映射到容器的一個端口 主機端口:容器內部的端口
docker run --name 別名 -d 主機端口:容器內部的端口 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. 安全問題請不要在線上環境開啟docker遠程訪問,否則可能會被當做肉機
看完上述內容,是不是對SpringBoot打包上傳到docker并實現多實例部署的方法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。