企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
补充:DockerFile入门 === 学习Docker File最好的办法就是看写好的file文件 ~~~ # 我们一起来看看这个Dockerfile # 指定基础景象 FROM ubuntu:latest # 创建者描述信息 用法:MAINTAINER <name> <email> MAINTAINER dollarkiller "adapawang@gmail.com" # 拷贝文件 到容器里面 COPY sources.list /etc/apt/sources.list # 在容器内执行命令 RUN apt-get update # 注意:每一次run 就会给镜像增加一层 RUN apt-get install nginx -y # 暴露容器内部端口 EXPOSE 80 ~~~ ### 构建 `docker build -t="景象名称" . ` `docker build -t="test" .` ## 命令 ### CMD - `CMD ["executable","param1"."param2"]` (exec 模式) - `CMD command param1 param2` (shell模式) - `CMD ["param1","param2"]` (作为ENTRYPOINT值令的默认参数) - 指定容器运行的默认命令 ~~~ # 我们一起来看看这个Dockerfile # 指定基础景象 FROM ubuntu:latest # 创建者描述信息 用法:MAINTAINER <name> <email> MAINTAINER dollarkiller "adapawang@gmail.com" # 拷贝文件 到容器里面 COPY sources.list /etc/apt/sources.list # 在容器内执行命令 RUN apt-get update && apt-get install nginx -y # 注意:每一次run 就会给镜像增加一层 #RUN apt-get install nginx -y # 暴露容器内部端口 EXPOSE 80 # 指定默认运行值令 CMD ["/usr/sbin/nginx","-g","daemon off;"] ~~~ 在运行时指定的命会被覆盖 ### ENTRYPOINT - `ENTRYPOINT ["executable","param1","param2"]` (exec模式) - `ENTRYPOINT command param1 param2` (shell模式) ENTRYPOINT 在运行时指定的命令不会被覆盖 ### ADD COPY - `ADD <src>...<desc>` 这个用于压缩文件 - `COPY <stc>...<desc>` 单纯复制文件推荐这个 ### VOLUME - `VOLUME["/data"]` 添加存储券 ### WORKDIR 设置工作目录 类似与cd - `WORKDIR path` ### env 设置环境 - `ENV <kev> <value>` ### user 指定景象用什么用户来运行 - `USER daemon` 默认root用户 ### ONBUILD - `ONBUILD [INSTRUCTON]` 景象触发器 (作为其他景象的基础景象在build时执行)