Docker運(yùn)行springboot項(xiàng)目的實(shí)現(xiàn)
簡(jiǎn)介:
Docker 運(yùn)行springboot項(xiàng)目其實(shí)配置非常簡(jiǎn)單,跟咱們直接到Linux上運(yùn)行springboot是一樣一樣的。開始
一:咱們首先要有一個(gè)運(yùn)行Docker環(huán)境
第一步:使用 yum 安裝(CentOS 7下)
Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本高于 3.10 ,查看本頁面的前提條件來驗(yàn)證你的CentOS 版本是否支持 Docker 。
通過 uname -r 命令查看你當(dāng)前的內(nèi)核版本
[root@iZbp1gp1t778obaz5m8vk8Z ~]# uname -r 3.10.0-957.21.3.el7.x86_64
第二步:安裝 Docker
Docker 軟件包和依賴包已經(jīng)包含在默認(rèn)的 CentOS-Extras 軟件源里,安裝命令如下:
[root@iZbp1gp1t778obaz5m8vk8Z ~]# yum -y install docker
安裝完成。
第三步:?jiǎn)?dòng) Docker 后臺(tái)服務(wù)
[root@iZbp1gp1t778obaz5m8vk8Z ~]# service docker start
第四步:測(cè)試運(yùn)行 hello-world
[root@izwz99z5o9dc90keftqhlrz ~]# docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
由于本地沒有hello-world這個(gè)鏡像,所以會(huì)下載一個(gè)hello-world的鏡像,并在容器內(nèi)運(yùn)行,好了咱們開始真實(shí)的使用。
二:咱們開始來自己的docker springboot的配置
第一步:創(chuàng)建運(yùn)行docker 的運(yùn)營(yíng)賬號(hào) 新增加-與后面的文檔內(nèi)容無關(guān)【運(yùn)營(yíng)一般是不能用root去干的哈】
[root@iZbp1gp1t778obaz5m8vk8Z ~]# useradd -d /home/hn-docker -m hn-docker #創(chuàng)建一個(gè)運(yùn)營(yíng)賬號(hào) [root@iZbp1gp1t778obaz5m8vk8Z ~]# [root@iZbp1gp1t778obaz5m8vk8Z ~]# passwd hn-docker #修改密碼 Changing password for user hn-docker. New password: BAD PASSWORD: The password contains the user name in some form Retype new password: passwd: all authentication tokens updated successfully. [root@iZbp1gp1t778obaz5m8vk8Z ~]# sudo groupadd docker #添加docker用戶組,如果已有就不用 [root@iZbp1gp1t778obaz5m8vk8Z ~]# sudo gpasswd -a hn-docker docker ##將登陸用戶加入到docker用戶組中 Adding user hn-docker to group docker
第二步:開始做docker的運(yùn)維
[root@izwz99z5o9dc90keftqhlrz Docker]# pwd /root/Docker [root@izwz99z5o9dc90keftqhlrz Docker]# [root@izwz99z5o9dc90keftqhlrz Docker]# [root@izwz99z5o9dc90keftqhlrz Docker]# mkdir elasticsearch [root@izwz99z5o9dc90keftqhlrz Docker]# [root@izwz99z5o9dc90keftqhlrz Docker]# cd elasticsearch/ [root@izwz99z5o9dc90keftqhlrz elasticsearch]#
1、運(yùn)行mvn install 將項(xiàng)目打包成jar包
2、復(fù)制jar包到當(dāng)前創(chuàng)建的文件夾中,和Dockerfile文件到一個(gè)文件夾下
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# touch Dockerfile [root@izwz99z5o9dc90keftqhlrz elasticsearch]# vi Dockerfile # 基礎(chǔ)鏡像使用java FROM java:8 # 作者 MAINTAINER shixiong <741096017@qq.com> # VOLUME 指定了臨時(shí)文件目錄為/tmp。 # 其效果是在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個(gè)臨時(shí)文件,并鏈接到容器的/tmp VOLUME /tmp # 將jar包添加到容器中并更名為app.jar,可以使用相對(duì)路徑、絕對(duì)路徑,這里相對(duì)路徑 ADD springboot-es6.jar /springboot-es6.jar # 運(yùn)行jar包 RUN bash -c 'touch /springboot-es6.jar' #設(shè)置時(shí)區(qū)-不然比當(dāng)前時(shí)間慢8小時(shí) RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springboot-es6.jar"]
三:構(gòu)建我們的springboot項(xiàng)目至Docker,生成docker鏡像
3、進(jìn)入該文件夾,然后運(yùn)行命令,帶版本,不帶版本 運(yùn)行時(shí)不一樣喲?。?!
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker build -t springboot-es6:v1.0 . 上面的配置:運(yùn)行時(shí)命令為: [root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6:v1.0 [root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker build -t springboot-es6 . 上面的配置:運(yùn)行時(shí)命令為: [root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6
帶了v1.0生成的鏡像,跑錯(cuò)了命令就是在這樣:
四:Docker內(nèi)運(yùn)行springboot項(xiàng)目
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6 e7a56662f804ef72e7dcae3fa71e840c35e28e18aa1aff7e98b71d900b17c305 [root@izwz99z5o9dc90keftqhlrz elasticsearch]#
五:看看我們的接口能否使用了
接口完美使用,后面寫怎么管理容器、日志怎么查看。
到此這篇關(guān)于Docker運(yùn)行springboot項(xiàng)目的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Docker運(yùn)行springboot內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
給docker創(chuàng)建的elasticsearch容器添加密碼簡(jiǎn)單步驟
在使用Elasticsearch(ES)Docker容器時(shí),有時(shí)需要設(shè)置密碼來保護(hù)數(shù)據(jù)的安全性,這篇文章主要給大家介紹了關(guān)于給docker創(chuàng)建的elasticsearch容器添加密碼的簡(jiǎn)單步驟,需要的朋友可以參考下2024-02-02Docker-Compose創(chuàng)建mysql容器詳解
這篇文章主要介紹了Docker-Compose創(chuàng)建mysql容器詳解的相關(guān)資料,需要的朋友可以參考下2022-11-11dockerfile部署前端vue打包的ist文件實(shí)戰(zhàn)
這篇文章主要為大家介紹了dockerfile部署前端vue打包的ist文件實(shí)戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Docker中如何通過docker-compose部署ELK
Docker?Compose適用于不同的操作系統(tǒng)和云平臺(tái),這篇文章主要介紹了Docker中如何通過docker-compose部署ELK,需要的朋友可以參考下2024-05-05如何監(jiān)控docker容器運(yùn)行狀態(tài) shell 腳本
這篇文章主要介紹了如何監(jiān)控docker容器運(yùn)行狀態(tài) shell 腳本的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03云原生之使用Docker部署homer靜態(tài)主頁的方法步驟
本文主要介紹了云原生之使用Docker部署homer靜態(tài)主頁的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08以示例講解Clickhouse Docker集群部署以及配置
這篇文章主要介紹了Clickhouse Docker集群部署及配置,示例講解的非常詳細(xì),希望可以幫助到有需要的小伙伴2021-08-08Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目詳解
bridge模式是Docker默認(rèn)的網(wǎng)絡(luò)設(shè)置,此模式會(huì)為每一個(gè)容器分配Network Namespace、設(shè)置IP等,并將一個(gè)主機(jī)上的Docker容器連接到一個(gè)虛擬網(wǎng)橋上,下面這篇文章主要給大家介紹了關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2023-01-01