关于建网站新闻嵌入式软件开发公司
- 作者: 五速梦信息网
- 时间: 2026年04月20日 11:08
当前位置: 首页 > news >正文
关于建网站新闻,嵌入式软件开发公司,郯城做网站,手机端公司网站怎么做目录 概念 基于dockerfile创建 dockerfile的命令 构建容器 FROM ENTRYPOINT和CMD RUN COPY和ADD 工作目录和环境变量以及容器卷#xff08;挂载卷#xff09; EXPOSE 实战 概念 dockerfile就是自定义镜像#xff0c;通过dockerfile创建的都是镜像#xff0c;而…目录 概念 基于dockerfile创建 dockerfile的命令 构建容器 FROM ENTRYPOINT和CMD RUN COPY和ADD 工作目录和环境变量以及容器卷挂载卷 EXPOSE 实战 概念 dockerfile就是自定义镜像通过dockerfile创建的都是镜像而不是容器。 创建镜像的方式 1.dockerfile 最基本的方式、最常用的方式 2.docker pull 拉取的是最基础的镜像只有基础功能没有定制化的功能 3.基于基础镜像创建好了容器之后在容器内部进行定制化的操作然后导出成镜像下次继续使用。 基于dockerfile创建 dockerfile用的是联合文件系统UnionFS。这个是docker镜像的基础镜像是通过分层来进行集成。基于UnionFS这个基础可以制作各种具体的应用镜像。 UnionFS特性一次性同时的加载多个文件系统但是从外面看只能看到一个文件系统。它的特点文件系统叠加。 镜像的分层它是由一层一层的文件系统组成的 UnionFS是由rootfs 根文件系统和bootfs 引导文件系统组成的。 rootfs 根文件系统包含了一个完整的文件系统操作系统包括了所有的文件和目录以及相关的权限和用户等等信息运行容器时整个根文件系统就会整个被使用作为应用运行的环境。 bootfs 引导文件系统它是启动根系统时需要加载的核心文件 dockerfile底层逻辑图 dockerfile定制化镜像定制每一层需要添加的配置和文件也就是把每一层的安装、修改、构建和操作都写入一个脚本然后用脚本来进行创建镜像。这个脚本就是dockerfile。 创建dockerfile脚本vim Dockerfile 识别默认名称 每一个镜像我们都会给他单独创建一个目录然后在这个目录下创建单独的Dockerfile脚本 dockerfile分为四个部分 1.基础镜像信息 底层 2.维护者信息可有可无 3.镜像的操作指令和相关配置 4.容器启动时执行的命令 dockerfile可以支持以#开头作为注释 dockerfile的命令 FROM永远是整个脚本的第一个语法它的作用是指定定制镜像的基础操作系统。 MAINTAINER维护者信息可以不写。现在新版本用LABEL来代替。 RUN在基础镜像上执行命令然后把运行结果整合到新镜像当中。RUN就是一个镜像的分层RUN越多分层就越多镜像就越大。为了控制镜像大小可以把多个RUN尽可能的写在一个RUN里面。 ENTRYPOINT指定容器在启动时执行的命令或者参数。 CMD指定容器在启动时执行的命令或者参数。 EXPOSE指定容器对外暴露的端口号。 ENV用来设置基础操作系统的环境变量以便RUN命令可以使用或者新镜像使用就是给系统添加环境变量。 ADD可以支持URL从网络下载文件也可以对压缩文件进行解压。 COPY只能复制本地文件宿主机文件到镜像的目标位置。 VOLUME创建一个容器内的挂载点用来和其他容器进行挂载不是和宿主机进行挂载。 USER设置运行镜像时的用户。 WORKDIR指定容器的工作目录相当于切换到这个目录在这个目录下做指定的操作。 ONBUILD指定一个镜像作为另一个镜像构建的基础时需要运行的命令。 ARG主要是用来传参是用户传递的参数比如/bin/bash就是ARG。而ENV是容器内部的变量。 构建容器 命令docker build -t centos:test . FROM 格式FROM centos:7 ENTRYPOINT和CMD 格式ENTRYPOINT [ls,/etc] CMD [ls,/usr] ENTRYPOINT有多个的情况下只会运行最后一个 CMD有多个的情况下也只会运行最后一个 CMD和ENTRYPOINT同时存在时命令都会执行。ENTRYPOINT会覆盖CMD的命令并且CMD会把命令作为参数传给ENTRYPOINT 总结做为容器启动时执行命令的语句一般情况下二者是通用的但是在传参的情况下需要加上CMD如果没有特殊的操作传参写一个CMD或者ENTRYPOINT即可二者不要同时存在。 CMD做为启动命令运行容器时传了额外的参数CMD会被覆盖从而不会被执行。而ENTRYPOINT做为启动命令时不会被覆盖容器运行时指定的命令相当于给ENTRYPOINT传参 RUN RUN的作用是在基础镜像运行然后把结果传给新镜像 RUN的结构要合理不要太多否则镜像就会很大。 格式RUN ls /opt ls /etc ls /usr RUN命令的优化写一起中间用 表示前一个指令成功才会执行下一个 表示不管前面的命令是否成功后一个都会执行 | | 表示前一个失败了后面才会执行 \ 表示把一个命令分成多个行提高可读性 COPY和ADD ADD主要作用是解压比如.tar .gz .zip 。还可以根据URL进行文件下载还可以复制但是一般不用官方解释同样是复制推荐使用copy。ADD不能复制压缩文件。 COPY只能复制复制本地文件到容器内。 ADD和COPY解压或者复制文件都必须和Dockerfile这个脚本在同一个目录下。 格式ADD 文件名 /opt 解压 COPY test1.txt /opt/test/ 复制 ADD http://mirrors.aliyun.com/repo/Centos-7.repo /opt/Centos-7.repo 在线下载 工作目录和环境变量以及容器卷挂载卷 WORKDIR 工作目录切换到容器内的指定目录 ENV 环境变量添加一个PATH可以让系统识别到命令 VOLUME 格式 WORKDIR /opt ENV PATH /opt/test:$PATH VOLUME [/opt/test] 默认的容器内的挂载点外部不是必须和这个挂载其他容器可以和这个进行挂载 EXPOSE 格式EXPOSE 指定端口 实战 实战使用yum安装定制一个nginx首先我们要先创建一个镜像里面基础镜像是centos7里面的服务是nginx Dockerfile脚本 FROM centos:7 RUN rm -rf /etc/yum.repos.d/* ADD http://mirrors.aliyun.com/repo/Centos-7.repo /etc/yum.repos.d/Centos-7.repo RUN yum -y install epel-release \ yum -y install nginx EXPOSE 80 WORKDIR /var/log/nginx/ VOLUME [/usr/share/nginx/html] CMD [nginx,-g,daemon off;] 整个步骤 cd /opt/ mkdir test cd test/ vim Dockerfile FROM centos:7RUN rm -rf /etc/yum.repos.d/*ADD http://mirrors.aliyun.com/repo/Centos-7.repo /etc/yum.repos.d/Centos-7.repoRUN yum -y install epel-release \yum -y install nginxEXPOSE 80WORKDIR /var/log/nginx/VOLUME [/usr/share/nginx/html]CMD [nginx,-g,daemon off;]docker build -t nginx:test . docker run -itd –name nginx1 nginx:test docker exec -it nginx1 bash docker inspect -f {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}} nginx1 curl 172.17.0.2 设置挂载卷 docker run -itd –name nginx2 -v /opt/html:/usr/share/nginx/html nginx:test docker run -itd –name nginx3 –volumes-from nginx2 nginx:test
- 上一篇: 关于建设校园网站申请报告空间域名免费申请
- 下一篇: 关于建筑工程的网站中国建筑app下载官网
相关文章
-
关于建设校园网站申请报告空间域名免费申请
关于建设校园网站申请报告空间域名免费申请
- 技术栈
- 2026年04月20日
-
关于建设网站的报告wordpress发红包插件
关于建设网站的报告wordpress发红包插件
- 技术栈
- 2026年04月20日
-
关于建设门户网站的通知江苏网站优化
关于建设门户网站的通知江苏网站优化
- 技术栈
- 2026年04月20日
-
关于建筑工程的网站中国建筑app下载官网
关于建筑工程的网站中国建筑app下载官网
- 技术栈
- 2026年04月20日
-
关于进一步加强网站建设东莞商场
关于进一步加强网站建设东莞商场
- 技术栈
- 2026年04月20日
-
关于旅游的网站建设目的wordpress换字体颜色
关于旅游的网站建设目的wordpress换字体颜色
- 技术栈
- 2026年04月20日
