使用Docker部署SpringBoot項(xiàng)目


準(zhǔn)備環(huán)境:

docker
jdk
maven

配置docker:

  • 為加快拉取鏡像速度后添,建議設(shè)置docker國內(nèi)鏡像源
# 創(chuàng)建或修改 /etc/docker/daemon.json 文件,修改為如下形式
{
    "registry-mirrors" : [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://cr.console.aliyun.com/"
  ]
}
# 重啟docker服務(wù)使配置生效
$ systemctl restart docker.service
  • 國內(nèi)加速地址有:

Docker中國區(qū)官方鏡像:
https://registry.docker-cn.com

網(wǎng)易:
http://hub-mirror.c.163.com

ustc:
https://docker.mirrors.ustc.edu.cn

中國科技大學(xué):
https://docker.mirrors.ustc.edu.cn

阿里云:
https://cr.console.aliyun.com/

新建并配置springboot項(xiàng)目:

1度液、新建springboot項(xiàng)目
2和措、pom.xml 增加docker依賴
    <properties>
        <docker.image.prefix>test-docker</docker.image.prefix>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 指定該Main Class為全局的唯一入口 -->
                    <mainClass>com.server.cloud.zipkin.ZipkinServerApplication</mainClass>
                    <layout>JAR</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <!--可以把依賴的包都打包到生成的Jar包中-->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <!-- docker plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.0</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <!-- Dockerfile的地址 -->
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>
3、新增 src/main/docker/Dockerfile 文件
# 指定基礎(chǔ)鏡像
FROM openjdk:8-jdk-alpine
# 維護(hù)者信息
MAINTAINER dbg
# 用于指定持久化目錄
VOLUME /tmp
# 將本地文件添加到容器中
ADD zipkin-server-1.0.0-SNAPSHOT.jar app.jar
# 指定于外界交互的端口
EXPOSE 9411
# 配置容器,使其可執(zhí)行化
ENTRYPOINT exec java $JAVA_OPTS -jar /app.jar

到這里 Spring Boot 項(xiàng)目添加 Docker 依賴就完成了

mvn打包及生成docker鏡像

1、進(jìn)入項(xiàng)目路徑下進(jìn)行打包測試:
#mvn打包
mvn package
#jar啟動(dòng)測試
java -jar target/zipkin-server-1.0.0-SNAPSHOT.jar
2练般、看到 Spring Boot 的啟動(dòng)日志后表明環(huán)境配置沒有問題,接下來我們使用 DockerFile 構(gòu)建鏡像:
# mvn打包并構(gòu)建docker鏡像
mvn clean package docker:build
  • 第一次構(gòu)建需要拉取基礎(chǔ)鏡像可能會有點(diǎn)慢菱阵,耐心等待踢俄,當(dāng)你看到如下信息的時(shí)候說明構(gòu)建成功:
...
Step 1/5 : FROM openjdk:8-jdk-alpine

 ---> a3562aa0b991
Step 2/5 : VOLUME /tmp

 ---> Using cache
 ---> d54a9bb20fac
Step 3/5 : ADD zipkin-server-1.0.0-SNAPSHOT.jar app.jar

 ---> 9353e6537a62
Step 4/5 : EXPOSE 9411

 ---> Running in 84034216b57b
Removing intermediate container 84034216b57b
 ---> 28272bf1375f
Step 5/5 : ENTRYPOINT exec java $JAVA_OPTS -jar /app.jar

 ---> Running in 05813ce8ba7d
Removing intermediate container 05813ce8ba7d
 ---> 83dfc1c6753a
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built 83dfc1c6753a
Successfully tagged test-docker/zipkin-server:latest
[INFO] Built test-docker/zipkin-server
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.412 s
[INFO] Finished at: 2019-08-08T16:51:52+08:00
[INFO] ------------------------------------------------------------------------
  • 默認(rèn)構(gòu)建好的鏡像在本機(jī)docker中:
docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
test-docker/zipkin-server   latest              83dfc1c6753a        5 minutes ago       135MB
  • 啟動(dòng)
docker run -d -e JAVA_OPTS='-server -Xms512m -Xmx512m' -p 9411:9411 --name zipkin -t test-docker/zipkin-server

  • 查看啟動(dòng)的容器
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
514931989a7b        c2801d3d2b96        "/bin/sh -c 'exec ja…"   About an hour ago   Up 54 seconds       0.0.0.0:9411->9411/tcp   zipkin

so 到這里 使用Docker部署SpringBoot項(xiàng)目 就成功了晴及!??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市嫡锌,隨后出現(xiàn)的幾起案子虑稼,更是在濱河造成了極大的恐慌,老刑警劉巖势木,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛛倦,死亡現(xiàn)場離奇詭異,居然都是意外死亡啦桌,警方通過查閱死者的電腦和手機(jī)溯壶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甫男,“玉大人且改,你說我怎么就攤上這事“宀担” “怎么了又跛?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長若治。 經(jīng)常有香客問我慨蓝,道長感混,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任礼烈,我火速辦了婚禮弧满,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘此熬。我一直安慰自己庭呜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布摹迷。 她就那樣靜靜地躺著疟赊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪峡碉。 梳的紋絲不亂的頭發(fā)上近哟,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機(jī)與錄音鲫寄,去河邊找鬼吉执。 笑死,一個(gè)胖子當(dāng)著我的面吹牛地来,可吹牛的內(nèi)容都是我干的戳玫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼未斑,長吁一口氣:“原來是場噩夢啊……” “哼咕宿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蜡秽,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤府阀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后芽突,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體试浙,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年寞蚌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了田巴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挟秤,死狀恐怖壹哺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情煞聪,我是刑警寧澤斗躏,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響啄糙,放射性物質(zhì)發(fā)生泄漏笛臣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一隧饼、第九天 我趴在偏房一處隱蔽的房頂上張望沈堡。 院中可真熱鬧,春花似錦燕雁、人聲如沸诞丽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽僧免。三九已至,卻和暖如春捏浊,著一層夾襖步出監(jiān)牢的瞬間懂衩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工金踪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浊洞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓胡岔,卻偏偏與公主長得像法希,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子靶瘸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容