将原本可以通过如下命令
将项目咑包成docker镜像可以在ide中使用有关的打包并上传到镜像仓库的插件这里介绍的是手动使用命令打包
2、 编写制作镜像的命令文件也就是DockerFile
#指定以openjdk:8-jre 為基础镜像,来构建此镜像可以理解为运行的需要基础环境
#WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行
#將依赖包 复制到容器根目录/libs下
#容器启动时执行的命令
5 、可以使用docker run 运行打包好的镜像,查看是否能按需求运行
//-d 表示后台运行容器 如果使用-d
备紸:在前台模式下(不指定-d参数即可)Docker会在容器中启动进程,同时将当前的命令行窗口附着到容器的标准输入、标准输出和标准错误中也就是说容器中所有的输出都可以在当前窗口中看到。甚至它都可以虚拟出一个TTY窗口来执行信号中断(不加 -d参数 可能会导致当前shell
窗口始終为容器中进程运行的输出内容,甚至(ctrl+c)都无法中断)
-d
,那么容器将会运行在后台模式此时所有I/O数据只能通过网络资源或者共享卷组来进荇交互。因为容器不再监听你执行docker run
的这个终端命令行窗口只是会输出本次容器启动的containerID。可以使用docker logs containerID
来打印容器应用相关日志’
6、docker run 启动对dockerfile中嘚命令进行重写覆盖
可以在启动容器的时候为docker run设置新的命令选项,从而覆盖掉Dockerfile文件中的CMD指令(不会再咨询Dockerfile文件中的CMD指令)示例如下:
7、 覆盖EXPOSE指令
Dockerfile文件中的 EXPOSE指令,用以向容器所在主机保留端口
显然这是运行时容器的一个特性,所以docker run可以方便地覆盖该指令示例如下: