脚本
脚本来自于SpringBoot项目编写的启停脚本SpringBoot项目启动、停止脚本。
编写Dockerfile文件
FROM CentOSxxx:latest
COPY myproject /opt/myproject
RUN chmod 777 /opt/myproject /start.sh
EXPOSE 8080
WORKDIR /opt/myproject
CMD ["bash","-c","./start.sh start && tail -f /dev/null"]
FROM CentOSxxx:latest
基础镜像,带有java环境
COPY myproject /opt/myproject
将项目拷贝到容器的myproject目录下,注意COPY将目标文件的内容拷贝,不包括目录,所以需要创建一个目录
RUN chmod 777 /opt/myproject/start.sh
搭建镜像时运行该指令,使目标文件权限被修改为777(可读可写可执行)
EXPOSE 8080
容器暴露8080端口
WORKDIR /opt/myproject
进入容器时,设置CMD指令的路径
CMD [“bash”,"-c","./start.sh start && tail -f /dev/null"]
容器被创建时,执行start.sh脚本,如果容器执行该脚本后容器退出,则可以加tail -f /dev/null。
创建镜像
docker build -t myimage .
创建容器
docker run -itd --name mycontainer -p 8080:8080 myimage