平时项目部署在使用Docker来管理,比较方便,然后在Docker编写Dockerfile。首略提一下怎么样编写Dockerfile.Dockerfile用来构建镜像的文件,好比一种Shell执行脚本,将你需要部署项目,需要的依赖软件模块,按命令行编写好,之后docker build -t Dockerfile所在目录已经名字,就可进行构建。介绍Dockerfile几个常用命令:
1、FROM FROM 镜像名称
2、RUN 命令 RUN npm install
3、CMD 命令 有三种形式
-
CMD ["executable","param1","param2"]
(exec形式,这是首选形式) -
CMD ["param1","param2"]
(作为ENTRYPOINT 的默认参数) -
CMD command param1 param2
(shell形式)
比如CMD ['node', 'index.js'] 一个dockerfile中,应该只写一个CMD,如果有多个只有最后一个生效
4、LABEL 命令用于添加镜像元数据
5、EXPOSE命令用于导出镜像端口 EXPOSE 8080:80
6,ENV指定环境变量
7、ADD&©命令复制和添加文件到指定目录
8、ENTRYPOINT CMD很相似,都是指定启动命令,不同之处在于ENTRYPOINT 指定的命令无法被docker run 参数取代。
这指令优秀的另一个地方在于可以和CMD指令做交互。让容器以应用或者服务运行。
经典操作:ENTRYPOINT + CMD = 默认容器命令参数
9、volume 命令用于缓存数据 volume['/data'] 或者volume /volume
10、USER命令 指定指令集所属用户和组。组默认为root。可以作用于RUN,CMD和 ENTRYPOINT它们后面的指令
11、WORKDIR命令 指定指令集所在的工作目录,若目录不存在将会自动创建。可作用于RUN,CMD, ENTRYPOINT,COPY和ADD
12、arg 指令定义了一个变量,我们可以在docker build通过使用--build-arg <varname>=<value> 标志的命令将其传递给构建器
下面react构建Dokcer一个构建例子
部署在nginx静态web服务器