Docker(二)-Docker化-构建Springboot的镜像
2017-01-03 12:16
567 查看
Docker化-构建Springboot的镜像
准备SpringBoot项目
略Dockerfile常用命令
FROM — 指定基础镜像FROM <image> FROM <image>:<tag> FROM <image>@<digest>
MAINTAINER — 指定作者
MAINTAINER <author>
RUN — 运行指定的命令
RUN cmd arg1 arg2 --- 以/bin/sh -c cmd 方式运行命令(shell) RUN ["cmd", "arg1", "arg2"] --- 直接运行命令(exec)
CMD — 容器启动时要运行的命令,可显式指定命令覆盖,只能使用一次
CMD ["cmd", "arg1", "arg2"] (exec) CMD cmd arg1 arg2 (shell) CMD ["arg1", "arg2"] --- 做为ENTRYPOINT的参数运行,需配合ENTRYPOINT使用
ENTRYPOINT —启动时的默认命令,如设置,则CMD为其参数
ENTRYPOINT ["cmd", "arg1", "arg2"] (exec) ENTRYPOINT cmd arg1 arg2 (shell)
VOLUME — 向容器添加卷
VOLUME ["dir1", "dir2",...] VOLUME dir1 dir2 ...
ADD — 复制文件到镜像中
ADD <src> ... <dest> ADD ["<src>", ... "<dest>"]
COPY — 复制文件到镜像中
COPY <src> ... <dest> COPY ["<src>", ... "<dest>"]
USER — 指定用户
USER username:group USER uid:gid
WORKDIR — 指定工作目录
WOKRDIR dir
EXPOSE — 暴露接口给外部
EXPOSE <port> [<port>...]
LABEL — 为镜像指定标签
LABEL <key>=<value> <key>=<value> <key>=<value> ...
ENV — 设置环境变量
ENV <key> <value> ENV <key>=<value>... --- 可以一次指定多个变量
ONBUILD — 添加触发器
ONBUILD [instruction]
SpringBoot的Dockerfile
Dockerfile#指定springboot需要的基础镜像 FROM maven:3.3.3 #复制pom文件到maven ADD pom.xml /tmp/build/ #运行指定命令 RUN cd /tmp/build && mvn -q dependency:resolve #复制项目文件 ADD src /tmp/build/src #构建应用 RUN cd /tmp/build && mvn -q -DskipTests=true package \ #拷贝编译结果到指定目录 && mv target/*.jar /app.jar \ #清理编译痕迹 && cd / && rm -rf /tmp/build VOLUME /tmp EXPOSE 8080 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
构建Docker镜像
进入应用根目录,构建Docker镜像docker build -t [项目名]
从镜像启动容器
docker run -d -p 8080:8080
访问
curl http://127.0.0.1:8080[/code]
项目地址
相关文章推荐
- Spring Boot 使用 Druid 和监控配置
- spring-boot使用AOP统一处理日志
- 详解Spring Boot Junit单元测试
- 详解Spring Boot 集成Shiro和CAS
- 详解在Spring Boot框架下使用WebSocket实现消息推送
- spring boot 1.5.4 集成shiro+cas,实现单点登录和权限控制
- Spring boot remote shell 自定义命令 应用篇
- 深入SpringBoot:自定义Endpoint
- spring boot 整合 druid
- Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS
- Spring拦截器中@Value无效的解决办法
- SpringBoot多数据源及MyBatis配置详解
- springboot之java.lang.VerifyError -指定代理类
- SpringBoot+Dubbo+Mybatis 项目升级版本(Gradle)
- Spring Boot——2分钟构建springweb mvc REST风格HelloWorld
- spring boot 使用velocity、freeMarker模板创建html页面返回给前端
- Spring Boot中的事务管理
- Spring Boot修改内置Tomcat端口号
- 通过Ajax和SpringBoot交互的示例
- idea使用gradle搭建SpringBoot