docker 部署springboot、dubbo專案
建立專案
1.建立一個springboot專案 pas。隨便寫一個Controller類:
@RequestMapping(value = "/oauth")
public void authentication(HttpServletRequest request,
HttpServletResponse response) {
。。。。。
}
2.打包部署pas。部署到linux 。目錄結構如下:
[[email protected] pas]# ll total 80 drwxr-xr-x 2 root root 4096 Sep 3 16:41 config drwxr-xr-x 2 root root 4096 Sep 2 18:59 lib -rw-r--r-- 1 root root 67926 Aug 28 10:59 pas-1.0.0.jar
3.執行專案,看到pas 專案已經正常啟動:
java -jar pas-1.0.0.jar &
[1] 10390
[[email protected] pas]# 2017-09-03 17:15:22.066 [main] INFO com.wtsd.pas.PasApplication - Starting PasApplication v1.0.0 on localhost with PID 10390 (/scss/pas/pas-1.0.0.jar started by root in /scss/pas)
4.對上述pas 整個專案進行打成tar.gz壓縮包,為建立pas 映象做準備。config目錄下application.properties 和 logback.xml不需要打包進去。在下面文中,我們會把配置檔案放在卷目錄config下。
[[email protected] pas]# tar -zcvf pas.tar.gz pas/
建立映象
1.首先建立並進入/opt/pas 資料夾。建立Dockerfile 檔案:
# This is my first web project with Docker. FROM openjdk:8-jdk-alpine #將專案包複製到映象/usr/local目錄下 ADD pas.tar.gz /usr/local/ ENV JAVA_OPTS="" #暴露84埠 EXPOSE 84 #切換工作目錄 WORKDIR /usr/local/pas/ ENTRYPOINT ["sh","-c","java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar pas-1.0.0.jar"]
2. 將pas.tar.gz 放入該目錄下,建立券目錄 logs 和config ,最終結構如下:
[[email protected] pas]# ll
total 24244
-rw-r--r-- 1 root root 273 Sep 3 17:43 Dockerfile
drwxr-xr-x 2 root root 4096 Sep 3 15:57 config
drwxr-xr-x 2 root root 4096 Sep 3 18:09 logs
-rw-r--r-- 1 root root 24784743 Sep 3 16:41 pas.tar.gz
注意: config 和logs兩個目錄會掛載到容器config和logs目錄下。容器執行從config目錄載入application.properties 和 logback.xml 配置,同時容器會將日誌檔案會輸出到該logs目錄下。
3. docker build -t chenyaochn/pas .構建映象 如下顯示:
[[email protected] pas]# docker build -t chenyaochn/pas .
Sending build context to Docker daemon 52.75MB
Step 1/7 : FROM openjdk:8-jdk-alpine
---> 478bf389b75b
Step 2/7 : ADD pas.tar.gz /usr/local/
---> fc280ddd785a
Removing intermediate container 2075aabffedc
Step 3/7 : ENV JAVA_OPTS ""
---> Running in 681af64dfa9b
---> bad8ae41f58c
Removing intermediate container 681af64dfa9b
Step 4/7 : VOLUME /opt/pas/logs
---> Running in bcdd0fac9a14
---> a424c0f6c7c2
Removing intermediate container bcdd0fac9a14
Step 5/7 : EXPOSE 84
---> Running in dc7f6eff63c1
---> f21fd6919fd5
Removing intermediate container dc7f6eff63c1
Step 6/7 : WORKDIR /usr/local/pas/
---> 121ac70d7e82
Removing intermediate container 84f20985d008
Step 7/7 : ENTRYPOINT sh -c java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar pas-1.0.0.jar
---> Running in 6212828c9d53
---> 3efcebec6a4d
Removing intermediate container 6212828c9d53
Successfully built 3efcebec6a4d
Successfully tagged chenyaochn/pas:latest
4.docker images檢視映象 ,已經建立成功:
[[email protected] pas]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
chenyaochn/pas latest 3efcebec6a4d 45 minutes ago 129MB
部署
部署zookeeper
1.從docker hub上下載最新zookeeper映象。
[[email protected] ~]# docker pull zookeeper
Using default tag: latest
可以將,zookeeper conf/目錄掛載到宿主伺服器,容器和宿主伺服器共享zoo.cfg配置檔案,方便對zookeeper配置的修改。
2.執行
[[email protected] ~]# docker run -d -p 2181:2181 --name zookeeper zookeeper
2defe46356fe8f28126350360f75c06cced32eb5154a391027e574b88bf3245a
3. 檢視 執行結果:
[[email protected] ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2defe46356fe zookeeper "/docker-entrypoin..." About a minute ago Up About a minute 2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp zookeeper
部署springboot專案
1.docker run -p 84:84 -v /opt/pas/config/:/usr/local/pas/config -v /opt/pas/logs/:/usr/local/pas/logs/ --name pas chenyaochn/pas 執行映象:#釋出84埠, 建立兩個卷,一個是配置檔案目錄,一個是日誌檔案目錄
[[email protected] pas]# docker run -p 84:84 -v /opt/pas/config/:/usr/local/pas/config -v /opt/pas/logs/:/usr/local/pas/logs/ --name pas chenyaochn/pas
Starting PasApplication v1.0.0 on 35e4c217b9d4 with PID 5 (/usr/local/pas/pas-1.0.0.jar started by root in /usr/local/pas)
2. docker ps 可看到容器已經啟動:
[[email protected] ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35e4c217b9d4 chenyaochn/pas "sh -c 'java $JAVA..." 15 hours ago Up 15 hours 0.0.0.0:84->84/tcp pas
3. tail -f logs/pas.log 檢視 日誌,可看到日誌檔案已經在宿主伺服器上生成:
[[email protected] pas]# tail -f logs/pas.log
2017-09-03 10:09:35.271 INFO [main] o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-09-03 10:09:35.318 INFO [main] o.s.w.s.h.SimpleUrlHandlerMapping - Mapped URL path [/webjars/**] onto ha
4. curl -I http://localhost:84/pas/oauth 。成功訪問pas專案
[[email protected] pas]# curl -I http://localhost:84/pas/oauth
HTTP/1.1 200
Content-Length: 0
Date: Sun, 03 Sep 2017 10:37:38 GMT
push 映象到倉庫
1. docker push chenyaochn/pas
[[email protected] ~]# docker push chenyaochn/pas
The push refers to a repository [docker.io/chenyaochn/pas]
6cfcac5463b4: Pushed
e378420761b2: Layer already exists
b0f743408169: Layer already exists
5bef08742407: Layer already exists
latest: digest: sha256:1e3f1f1620cda285f62b10fec1f582a6b31d768dc7e98322cb96bb976a958333 size: 1159
相關推薦
docker 部署springboot、dubbo專案
建立專案 1.建立一個springboot專案 pas。隨便寫一個Controller類: @RequestMapping(value = "/oauth") public void authentication(HttpServletRequest request,
docker部署 springboot 多模組專案+vue
之前學習了docker,今天就來試試將這個專案打包成docker映象並通過執行一個映象來執行專案。這裡使用的專案是el-admin。是一個開源的springboot後端管理框架(前端vue),有興趣的小夥伴可以去看看。 網址:https://el-admin.vip 關於docker的入門可以檢視我之前的
Docker $ 專案部署 :Docker 部署 SpringBoot + Mysql
一.Dockerfile常用指令 FROM 目的 指定基礎映象 特點 需要寫在其他指令之前,之後的指令都依賴於該指令指定的映象。 語法 FROM <image> FROM <image&g
Docker部署SpringBoot專案(java10, jdk10,MAC)
build.gradle: // Apply the java-library plugin to add support for Java Library apply plugin: 'java-library' apply plugin: 'java' apply plugin: 'org.
初次部署springboot、docker、redis、mysql、nginx
本文章適合所有初學者閱讀、我會從剛買來的一臺伺服器開始從零到部署專案 當然怎麼購買我就不多說了 使用到的技術有springboot、docker、redis、mysql、nginx 操作環境MAC電腦 首先通過終端連線伺服器 ssh [email pr
使用docker部署SpringBoot專案
1.新建一個SpringBoot專案 自己寫吧。。。。我放個測試的 package com.pibigstar.web; import org.springframework.stereotype.Controller; import org.spri
記一次docker部署springboot專案,mysql以及redis一樣是docker中安裝
一:首先 在idea中的springboot專案打成jar包,具體是方式是如下 這裡的資料庫密碼和賬戶必須是真確的,資料庫和redis也是在docker中安裝的 二:在docker中安裝mysql的服務 這裡的linux的版本是centos,具
Windows10下--Docker部署SpringBoot專案
網上的“Docker部署SpringBoot專案”教程大多數是Linux環境下的,而往往初學者沒有Linux伺服器,不方便學習。因此,經過半天的研究,我成功的部署了在Windows10下用Docker部署了SpringBoot專案,在這裡分享給大家。
Docker---(5)Docker 部署SpringBoot web專案
注:博主系統是ubuntu。SpringBoot專案釋出到伺服器,是一件很簡單的事情,但是釋出到伺服器上docker啟動的tomcat容器中,有一些坑,需要注意。下面完整的介紹一下:將SpringBoot web專案釋出到docker啟動的tomcat容器中。1.pom.xm
Docker部署springboot專案例項
一. 背景 快到2018了,一年過得如火如荼,今年因為K8S的原因,Docker很是紅火、 一個簡單的Docker部署Springboot專案例項供大家參考、 二. 例項 步驟: 1.
Docker部署SpringBoot專案
前提是已經擁有一個docker環境和一個springboot打成的jar包,搭建docker環境可參考上一篇博文ECS上搭建Docker(CentOS7) 1.建立Dockerfile 建立一個檔名為Dockerfile的檔案,複製以下內容到檔案中
docker部署springboot專案並連線mysql容器
1. 先拉取mysql映象(因為比較慢) docker pull mysql:5.7 2. 構建要部署的專案映象 2.1 建立一個目錄 [email protected]:/usr/local/docker# mkdir docker-web 1. 將
[新手入門]docker部署springboot專案
1 建立檔案Dockerfile FROM java:8 VOLUME /tmp ADD testwebapp-0.0.1.jar app.jar RUN bash -c ‘touch /app
Docker-Docker部署SpringBoot專案
## 1.手工方式 ### 1.1.準備Springboot jar專案 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20191229152232519.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpd
使用Docker部署SpringBoot
ces 設置 pin cache doc work git term pro 轉載自:https://www.cnblogs.com/ityouknow/p/8599093.html Docker 技術發展為微服務落地提供了更加便利的環境,使用 Docker 部署 Spr
docker 部署nginx、php-fpm
假設機器上已經安裝好docker環境 一.執行nginx容器 1.查詢Docker Hub 上的nginx 映象 [email protected]:~/nginx$ docker search nginx NAME DESCRIPTION
centos7.5 下docker部署springboot應用
本篇dock部署springboot應用的前提:準備好docker環境和要部署的springboot應用的jar包 一、docker環境準備 在虛擬機器centos上安裝docker或者其他可以使用的centos都可以,本篇
docker部署springboot,並且檢視執行日誌
docker部署springboot(預設已經安裝好docker) 第一步:構建映象 建立Dockerfile檔案,檔案內容如下: FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD index-1.5.10.RELEASE.ja
使用 Docker 部署 Springboot 應用
介紹一種新的部署方式,讓應用部署更加簡單高效。 對於微服務架構來說,服務拆分的越多,運維的成本也就越高,以前的一個系統只需要部署一次就可以了,但拆分成多個服務後,就需要多次部署了,為了簡化部署流程,容器化成了該問題的最佳解決方案。 這裡假定大家對 Springboot 應用的搭建及 Dock
springboot(9)--docker部署springboot應用
docker:應用容器引擎,使用者在客戶端可以將應用和應用的執行環境、依賴包等打包成映象,上傳到映象倉庫,然後在伺服器拉取映象並執行。不同映象之間的依賴互不影響,且映象的執行效率很高。 0.拉取jdk8映象 這個待會用作基映象。 docker pull open