一、Dockerfile是什么?
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
二、Dockerfile文档
1. 拉取基础镜像文件 FROM java:8 2. 服务数据目录挂载到宿主机 docker volume create test_data VOLUME test_data:/data 容器停止删除; 数据不会丢失
tip: docker run -v volume:/containerpath 3. 添加文件 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运行目录位置