docker基础命令以及多阶段编译
整理一下docker的基础命令,以及多阶段编译的简单应用。
基础命令
- FROM
拉取一个基准环境镜像
- RUN
运行指令
- COPY
将宿主机的目录复制到镜像中,注意目录路径
- WORKDIR
改变在容器的当前目录
- EXPOSE
表示容器会暴露此端口,但不是真正的在运行时暴露这个端口,只是一个类似于文档的作用,真正的暴露还是在docker -p 8000:8000,这样做一个端口的映射
- ENTRYPOINT
类似的是CMD命令,ENTRYPOINT 是容器启动时执行的不变的命令,CMD是可以被用户修改的参数。
ENTRYPOINT [ “echo”, “a” ]
CMD [ “b” ]
执行结果: a, b
Docker run -p 8000:8000 imageName c d e
执行结果:a c d e ( ENTRYPOINT 正常情况下不会被覆盖,CMD是提供个默认值,可被重写 )
构建
目录:
1 | /learn-docker |
代码:
1 | package main |
Dockerfile:
1 | # 启动编译环境 |
命令执行的顺序会影响构建速度,不变的命令应在之前运行,变化的放在后面,不变的会尽量用到cache。
构建:
1 | docker build -t hello -f Dockerfile . |
本文标题:docker基础命令以及多阶段编译
文章作者:小师
发布时间:2022-03-28
最后更新:2022-05-04
原始链接:chunlife.top/2022/03/28/docker基础命令以及多阶段编译/
版权声明:本站所有文章均采用知识共享署名4.0国际许可协议进行许可