將SpringBoot項目打成jar包
一佑刷、創(chuàng)建一個SpringBoot項目
二玖媚、在porm.xml里面添加配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.lym</groupId>
<artifactId>mock</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
</properties>
<!-- 使用maven打包項目需要添加build配置 -->
<build>
<finalName>docker-jar</finalName> <!--使用maven打包后的包名 -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
三、使用maven打包贿条。進入項目的主目錄下(和porm.xml同級),使用mvn clean package -Dmaven.test.skip=true(-Dmaven.test.skip=true是為了排除項目中的test包) 打包項目增热,最終jar會放在target文件夾下整以。
安裝docker
一、使用國內(nèi)的daocloud一鍵安裝docker
curl -sSL https://get.daocloud.io/docker | sh
如果報“Delta RPMs disabled because /usr/bin/applydeltarpm not installed.”錯誤峻仇,執(zhí)行以下命令
yum provides '*/applydeltarpm' #查看依賴包的位置
yum -y install deltarpm #安裝deltarpm
二公黑、啟動docker
systemctl start docker
三、檢查docker是否安裝成功
docker run hello-world
如果出現(xiàn)以下信息摄咆,表明docker安裝成功
創(chuàng)建鏡像
一凡蚜、在服務(wù)器上建一個文件夾DockerFile,在文件夾下創(chuàng)建一個文件Dockerfile
mkdir DockerFile
touch Dockerfile
二吭从、編輯Dockerfile文件
FROM java:8
VOLUME /tmp
COPY docker-jar.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar","--server.port=80","> /log/app.log"]
FROM:定制的鏡像都是基于 FROM 的鏡像朝蜘,這里的java就是應(yīng)用需要用到的java環(huán)境,版本號是8
VOLUME :聲明容器中存儲數(shù)據(jù)的目錄(匿名卷)涩金,跟宿主機的某個目錄綁定
COPY :復(fù)制docker-jar.jar到容器中并重新命名為app.jar
EXPOSE :暴露容器的端口(僅僅是聲明谱醇,并不會實際綁定)
ENTRYPOINT :在啟動容器的時候運行,這里用來啟動springboot項目
三鸭廷、構(gòu)建鏡像
將上面打的docker-java.jar包放到DockerFile目錄下(和Dockerfile同一目錄)枣抱,并運行如下命令
docker build -t mock .
-t:指定鏡像名稱
.:當(dāng)前目錄
鏡像構(gòu)建完后熔吗,可以使用docker images 查看結(jié)果
四辆床、啟動容器
使用如下命令啟動容器
docker run -d --name mock -P mock
或者
docker run -d --name mock -p 80:8080 mock
-d:默認不會進入容器,容器啟動后會進入后臺
-P:將容器內(nèi)部使用的網(wǎng)絡(luò)端口隨機映射到我們使用的主機上
-p:將容器端口映射到指定的host端口上桅狠,這里是將8080端口映射到80端口上
--name:設(shè)置容器名稱
如果上面的命令啟動后讼载,無法通過瀏覽器訪問應(yīng)用轿秧,嘗試將newwork改成host
docker run -d --net="host" --name mock mock
--net="host":此時容器使用宿主機的ip和端口
如果需要查看容器的日志,可以使用
docker logs -f mock