docker筆記運行springBoot項目

1、Docker簡介

概念:Docker 是一個開源的應(yīng)用容器引擎,基于 Go 語言并遵從 Apache2.0 協(xié)議開源。

Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。

2、Docker三要素

鏡像
容器 是用鏡像創(chuàng)建的運行實例

可以把容器看作簡易版的Linux環(huán)境

倉庫 是集中存放鏡像文件的場所

2、CentOS7.+安裝Docker

使用官方安裝腳本自動安裝

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

設(shè)置阿里云的源
$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安裝 Docker Engine-Community

$ sudo yum install docker-ce docker-ce-cli containerd.io

啟動 Docker

$ sudo systemctl start docker

通過運行 hello-world 映像來驗證是否正確安裝了 Docker Engine-Community

sudo docker run hello-world

3、運行第一個springBoot項目

使用Maven打包.jar
編寫Dockerfile文件

# Docker image for springboot file run
# VERSION 0.0.1
# Author: eangulee
# 基礎(chǔ)鏡像使用java
FROM java:8  或者  openjdk:8-jdk-alpine
# 作者
MAINTAINER shenhongtao12@aliyun.com
# VOLUME 指定了臨時文件目錄為/tmp。
# 其效果是在主機 /var/lib/docker 目錄下創(chuàng)建了一個臨時文件,并鏈接到容器的/tmp
VOLUME /tmp 
# 將jar包添加到容器中并更名為app.jar
ADD demo-demo-0.0.1.jar app.jar 
# 運行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

VOLUME 指定了臨時文件目錄為/tmp。其效果是在主機 /var/lib/docker 目錄下創(chuàng)建了一個臨時文件,并鏈接到容器的/tmp。改步驟是可選的,如果涉及到文件系統(tǒng)的應(yīng)用就很有必要了。/tmp目錄用來持久化到 Docker 數(shù)據(jù)文件夾,因為 Spring Boot 使用的內(nèi)嵌 Tomcat 容器默認(rèn)使用/tmp作為工作目錄
項目的 jar 文件作為 “app.jar” 添加到容器的
ENTRYPOINT 執(zhí)行項目 app.jar。為了縮短 Tomcat 啟動時間,添加一個系統(tǒng)屬性指向 “/dev/./urandom” 作為 Entropy Source

部署文件

image.png

將jar包和Dockfile文件放置在同一目錄下
制作鏡像
docker build -t 鏡像名 .
注:千萬別忘記后面有"."點
image.png

制作完成后通過docker images命令查看制作的鏡像
image.png

啟動容器
docker run -d -p 8080:8085 鏡像名
-d參數(shù)是讓容器后臺運行 
-p 是做端口映射,此時將服務(wù)器中的8080端口映射到容器中的8085(項目中端口配置的是8085)端口
查看正在運行的容器

docker ps

image.png

停止服務(wù)

docker stop container ID

image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容