常用命令:
FROM # 指定父镜像
示例:FROM centos:7.7.1908
MAINTAINER #定义镜像作者信息
示例:MAINTAINER martin xx@qq.com
ADD # 添加本地文件到容器,tar包会自动解压
示例:ADD code.tar.gz /data/tomcat/webapps/
COPY # 添加本地文件到容器,需要手动解压
示例:COPY nginx.conf /apps/nginx/conf/nginx/nginx.conf
appx在这里插入代码片
x.war是zip格式的,java代码
ENV # 定义容器环境变量
ENV name zhangsan
示例:ENV age 18
RUN # 在容器中执行shell命令
RUN yum install vim -y && useradd nginx
EXPOSE # 定义容器暴露端口
示例:EXPOSE 80 443
CMD ["/usr/bin/run_tomcat.sh",“mysqld”]
# 其他命令:https://docs.docker.com/engine/reference/builder/
LABEL # 指令是用来指定生成镜像的元数据标
格式:
LABEL = = = …
LABEL version=“1.0”
LABEL description=“This text illustrates
that label-values can span multiple lines.”
LABEL maintainer=“martin xx@qq.com”
LABEl maintainer=“xx@qq.com”
STOPSIGNAL # 指定容器退出的信号值
STOPSIGNAL signal
示例:STOPSIGNAL 9
USER # 指定容器执行操作的用户
USER [:] or
USER [:]
示例:USER nginx
WORKDIR # 指定工作目录
WORKDIR /path/to/workdir
如:
示例:WORKDIR /a
示例:WORKDIR b
示例:WORKDIR c
RUN pwd
VOLUME # 创建一个挂载点,用于挂载外部存储,从而将容器中的数据保存至外部存储,避免数据丢失,可以一次创建多个
VOLUME ["/static","/data1","/data2"]
示例:VOLUME /static /data1 /data2
ENTRYPOINT # 和CMD功能类似,为容器执行运行的服务或参数
示例:ENTRYPOINT ["/apps/tomcat/bin/run_tomcat.sh"]
示例:ENTRYPOINT [“nginx”,"-g",“daemon off;”]