-
FROM
-
新镜像基于哪一个镜像,指向一个已经存在的景象,例如tomcat 基于的镜像是 amazoncorretto:8
-
-
MAINTAINER
-
作者的名字与邮箱,没啥意义
-
-
RUN
-
容器构建的时候运行的命令
-
两种格式 shell 和 exec
-
shell 例如安装一个 vim, RUN yum -y install vim
-
exec 例如 RUN ["可执行文件","参数1","参数2"],如 RUN ["./test.php","dev","offline" ]等价于 RUN ./test.php dev offline
-
-
EXPOSE
-
当前容器暴漏的端口
-
-
WORKDIR
-
指定登录容器后目录位置
-
-
USER
-
指定用户以什么样的用户执行,一般不用
-
-
ENV
-
环境变量,key value形式,一般和WORKDIR搭配用
-
-
ADD
-
将宿主机上的文件拷贝进容器镜像且回自动处理URL和解压tar压缩包
-
-
COPY
-
copy文件和目录到镜像中,就是复制一份
-
-
VOLUME
-
容器数据卷,相当于run时的-v操作
-
-
CMD
-
启动容器后指定的命令
-
在docker run 时运行
-
-
ENTPYPOINT
-
也是容器启动后要运行的命令
-
类似CMD命令,但ENTRYPOINT不会被docker run后面的命令覆盖,而且这些命令行参数会被当作参数送给ENTRYPOINT指令指定的程序
-
首先将项目复制到服务器上,将项目整体压缩下,以下是以nodejs为例
dockerfile文件和压缩的项目文件放在同一目录下
FROM node
#将项目的压缩文件放置到容器中/root目录下
ADD /root/nodejs.tar.gz /root
##切换到容器/root目录下
WORKDIR /root
RUN chmod -R 777 nodejs
WORKDIR /root/nodejs
EXPOSE 3000
RUN npm instatll cnpm -g --registry=https://registry.nlark.com
RUN cnpm install
CMD node app.js
用命令docker build -t 【name:TAG】 .
构建镜像, 注意使用 . 表示在当前目录下