一、Dockerfile是什么?
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
二、Dockerfile文档
1. 拉取基础镜像文件 FROM java:8 2. 服务数据目录挂载到宿主机 docker volume create test_data VOLUME test_data:/data 容器停止删除; 数据不会丢失 tip: docker run -v volume:/containerpath3. 添加文件 ADD xx.tar.gz / ; 会自动解压 CP xx.tar.gz / ;不会自动解压4. 执行启动命令 ENTRYPOINT ['command and arguments']
# 示例 # Docker image for springboot file run # VERSION 0.0.1# Author: eangulee FROM java:8# VOLUME 指定了临时文件目录为/tmp。 # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp VOLUME /tmp # 将jar包添加到容器中并更名为app.jar ADD ./springBootAdmin.tar.gz /WORKDIR /springBootAdmin/# 运行jar包 RUN bash -c 'touch /springBootAdmin/springBootAdmin.jar'ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springBootAdmin/springBootAdmin.jar"]
三、docker与Dockerfile
在docker环境下执行build命令,根据Dockerfile文件生成docker镜像
docker build -t imagename:tag docker images //查看镜像
四、常见问题
1. docker运行失败 docker logs containerId 查看容器运行日志2. springBoot程序启动端口不对应 检查Dockerfile的java运行目录位置