1.創(chuàng)建springboot項(xiàng)目
創(chuàng)建springboot項(xiàng)目
@RestController
public class UserController {
@Resource
? ? private UserServiceuserService;
? ? @GetMapping("/users")
public ListqueryUsers() {
return this.userService.queryUsers();
? ? }
}
2.打包springboot項(xiàng)目為jar包
使用maven?package
3. 編寫Dockerfile文件
FROM openjdk:8-alpine3.9
MAINTAINER siory Docker springboot "siory"
RUN apk --update add curl bash tzdata && \
rm -rf /var/cache/apk/*
ENV TZ Asia/Shanghai
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
EXPOSE 8082
ENTRYPOINT ["java","-jar","/app.jar"]
解釋下這個(gè)配置文件:
VOLUME 指定了臨時(shí)文件目錄為/tmp奶是。其效果是在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個(gè)臨時(shí)文件漱挚,并鏈接到容器的/tmp。該步驟是可選的灭将,如果涉及到文件系統(tǒng)的應(yīng)用就很有必要了赢底。/tmp目錄用來持久化到 Docker 數(shù)據(jù)文件夾失都,因?yàn)?Spring Boot 使用的內(nèi)嵌 Tomcat 容器默認(rèn)使用/tmp作為工作目錄
項(xiàng)目的 jar 文件作為 “app.jar” 添加到容器的
如果是第一次打包,它會(huì)自動(dòng)下載java 8的鏡像作為基礎(chǔ)鏡像幸冻,以后再制作鏡像的時(shí)候就不會(huì)再下載了粹庞。
4. 部署文件
在服務(wù)器新建一個(gè)docker文件夾,將maven打包好的jar包和Dockerfile文件復(fù)制到服務(wù)器的docker文件夾下
docker文件夾
5. 制作鏡像
執(zhí)行下面命令洽损, 看好庞溜,最后面有個(gè)"."點(diǎn)!
docker build -t?dockerdemo
6.啟動(dòng)容器
[root@localhost docker]# docker run-d-p8080:8082?dockerdemo -d參數(shù)是讓容器后臺(tái)運(yùn)行-p 是做端口映射碑定,此時(shí)將服務(wù)器中的8080端口映射到容器中的8082(項(xiàng)目中端口配置的是8085)端口
7. 訪問網(wǎng)站
直接瀏覽器訪問: http://你的服務(wù)器ip地址:8080/