Docker運(yùn)行springboot項目的實(shí)現(xiàn)
Docker 運(yùn)行springboot項目其實(shí)配置非常簡單,跟咱們直接到Linux上運(yùn)行springboot是一樣一樣的。開始
一:咱們首先要有一個運(yùn)行Docker環(huán)境第一步:使用 yum 安裝(CentOS 7下)
Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本高于 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。
通過 uname -r 命令查看你當(dāng)前的內(nèi)核版本
[root@iZbp1gp1t778obaz5m8vk8Z ~]# uname -r3.10.0-957.21.3.el7.x86_64
第二步:安裝 Docker
Docker 軟件包和依賴包已經(jīng)包含在默認(rèn)的 CentOS-Extras 軟件源里,安裝命令如下:
[root@iZbp1gp1t778obaz5m8vk8Z ~]# yum -y install docker
安裝完成。
第三步:啟動 Docker 后臺服務(wù)
[root@iZbp1gp1t778obaz5m8vk8Z ~]# service docker start
第四步:測試運(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這個鏡像,所以會下載一個hello-world的鏡像,并在容器內(nèi)運(yùn)行,好了咱們開始真實(shí)的使用。
二:咱們開始來自己的docker springboot的配置第一步:創(chuàng)建運(yùn)行docker 的運(yùn)營賬號 新增加-與后面的文檔內(nèi)容無關(guān)【運(yùn)營一般是不能用root去干的哈】
[root@iZbp1gp1t778obaz5m8vk8Z ~]# useradd -d /home/hn-docker -m hn-docker #創(chuàng)建一個運(yùn)營賬號[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 formRetype 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 將項目打包成jar包2、復(fù)制jar包到當(dāng)前創(chuàng)建的文件夾中,和Dockerfile文件到一個文件夾下
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# touch Dockerfile [root@izwz99z5o9dc90keftqhlrz elasticsearch]# vi Dockerfile # 基礎(chǔ)鏡像使用javaFROM java:8# 作者M(jìn)AINTAINER shixiong <[email protected]># VOLUME 指定了臨時文件目錄為/tmp。# 其效果是在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個臨時文件,并鏈接到容器的/tmpVOLUME /tmp# 將jar包添加到容器中并更名為app.jar,可以使用相對路徑、絕對路徑,這里相對路徑ADD springboot-es6.jar /springboot-es6.jar# 運(yùn)行jar包RUN bash -c ’touch /springboot-es6.jar’#設(shè)置時區(qū)-不然比當(dāng)前時間慢8小時RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo ’Asia/Shanghai’ >/etc/timezoneENTRYPOINT ['java','-Djava.security.egd=file:/dev/./urandom','-jar','/springboot-es6.jar']三:構(gòu)建我們的springboot項目至Docker,生成docker鏡像
3、進(jìn)入該文件夾,然后運(yùn)行命令,帶版本,不帶版本 運(yùn)行時不一樣喲!!!
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker build -t springboot-es6:v1.0 .上面的配置:運(yùn)行時命令為:[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6:v1.0 [root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker build -t springboot-es6 .上面的配置:運(yùn)行時命令為:[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6
帶了v1.0生成的鏡像,跑錯了命令就是在這樣:
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6e7a56662f804ef72e7dcae3fa71e840c35e28e18aa1aff7e98b71d900b17c305[root@izwz99z5o9dc90keftqhlrz elasticsearch]#五:看看我們的接口能否使用了
接口完美使用,后面寫怎么管理容器、日志怎么查看。
到此這篇關(guān)于Docker運(yùn)行springboot項目的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Docker運(yùn)行springboot內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 使用IDEA編寫jsp時EL表達(dá)式不起作用的問題及解決方法2. msxml3.dll 錯誤 800c0019 系統(tǒng)錯誤:-2146697191解決方法3. 不使用XMLHttpRequest對象實(shí)現(xiàn)Ajax效果的方法小結(jié)4. Python自動化之定位方法大殺器xpath5. 刪除docker里建立容器的操作方法6. jsp實(shí)現(xiàn)登錄界面7. Ajax獲取php返回json數(shù)據(jù)動態(tài)生成select下拉框的實(shí)例8. Ajax實(shí)現(xiàn)搜索功能的分頁9. php5.6不能擴(kuò)展redis.so的解決方法10. CSS3實(shí)現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效
