当前位置: 首页 > news >正文

app展示网站模板免费下载产品设计招聘网站

app展示网站模板免费下载,产品设计招聘网站,免费建网站可以找哪家英文网站,建行企业银行app下载引言 在容器化技术日益普及的今天#xff0c;Dockerfile 成为了构建 Docker 镜像的核心工具。通过编写 Dockerfile#xff0c;开发者可以将应用程序及其依赖打包成一个可移植、可复用的镜像#xff0c;从而简化部署和运维工作。本文将详细介绍 Dockerfile 的基本概念、常用指…引言 在容器化技术日益普及的今天Dockerfile 成为了构建 Docker 镜像的核心工具。通过编写 Dockerfile开发者可以将应用程序及其依赖打包成一个可移植、可复用的镜像从而简化部署和运维工作。本文将详细介绍 Dockerfile 的基本概念、常用指令、制作镜像实例以及优化技巧帮助读者掌握如何构建简单高效的容器镜像。 Dockerfile 简介 Dockerfile 是一个包含了一系列命令的文本文件这些命令用于自动化地创建一个 Docker 镜像。通过编写 Dockerfile开发者可以将环境配置、应用程序代码、依赖关系等打包成一个镜像从而快速创建容器。用户可以将自己的应用打包成镜像让应用在容器中运行也可以对官方镜像进行扩展打包成适合生产环境的应用镜像。 Dockerfile 常用指令 2.1 FROM指定基础镜像 # 格式FROM image:[版本标签]# 示例FROM centosFROM ubuntu:20.04 FROM 指令用于指定构建新镜像时使用的基础镜像通常是 Dockerfile 的第一个有效指令。如果不指定版本标签默认使用 latest。 2.2 LABEL添加镜像的元数据 # 格式LABEL keyvalue keyvalue....# 示例LABEL version2.0 description业务系统第二个版本 LABEL 指令使用键值对方式为镜像添加元数据。一条 LABEL 可以指定多条元数据尽量不要写多个 LABEL。 2.3 RUN构建镜像时执行的命令 RUN 指令有两种执行方式shell 执行和 exec 执行。 # 格式RUN command# 示例RUN yum update -y RUN 指令创建的中间镜像会被缓存并在下次构建中使用。可以在构建时使用 --no-cache 取消缓存。 Exec 执行 # 格式RUN [executable, 参数1, 参数2]# 示例RUN [/bin/bash, -c, echo hello] 2.4 ENV在容器内部设置环境变量 # 格式ENV key value# 示例ENV MYPATH /usr/local ENV 指令用于在容器内部设置环境变量。 2.5 ADD将本地文件添加到镜像中 # 语法ADD src destADD [src, dest]# 示例ADD nginx.tar /opt ADD 指令类似于 scp但不需要用户名和密码权限验证。tar 类型文件会自动解压可以访问网络资源类似 wget。建议使用绝对路径尽量不要把 src 写成一个文件夹。 2.6 COPY将文件或目录复制到镜像中 # 语法COPY src destCOPY [src, dest]# 示例COPY myapp.jar /app/ COPY 指令的功能类似 ADD但不会自动解压文件也不能访问网络资源。COPY 的只能是本地文件其他用法一致。 2.7 VOLUME指定持久化目录 # 格式VOLUME [/path/to/dir]# 示例VOLUME [/data]VOLUME [/data/log, /data/config] VOLUME 指令用于指定持久化目录。卷可以在容器间共享和重用修改卷后会立即生效对卷的修改不会对镜像产生影响。 2.8 CMD容器启动时运行的命令不常用码 # 语法CMD [executable, param1, param2]CMD command param1 param2# 示例CMD echo $LANG CMD 指令用于指定容器启动时运行的命令。如果写了多条 CMD 指令只有最后一条生效。 2.9 ENTRYPOINT容器启动时运行的命令常用 # 语法ENTRYPOINT [executable, param1, param2]ENTRYPOINT command param1 param2# 示例ENTRYPOINT java -jar /data/config.jar ENTRYPOINT 指令也用于指定容器启动时运行的命令。与 CMD 不同ENTRYPOINT 不会被运行的 command 覆盖而 CMD 则会被覆盖。如果同时写了 ENTRYPOINT 和 CMDCMD 指定的内容将作为 ENTRYPOINT 的参数。 2.10 EXPOSE暴露容器运行时的监听端口给外部 # 格式EXPOSE port [port...]# 示例EXPOSE 8080EXPOSE 443/tcp 80/tcp EXPOSE 指令用于暴露容器运行时的监听端口给外部。但需要注意的是EXPOSE 并不会让容器的端口访问到主机。在运行时使用随机端口映射时会自动随机映射 EXPOSE 的端口。 2.11 WORKDIR工作目录 WORKDIR 指令用于设置工作目录后续指令将在该目录中执行。 2.12 其他指令 MAINTAINER指定作者。USER设置启动容器的用户。ONBUILD用于设置镜像触发器。HEALTHCHECK用于检查容器健康状况。 制作镜像实例重点 3.1 制作镜像语法 docker build -t 镜像名:标签名 Dockerfile路径 3.2 实例1构建 Nginx 镜像 1编写 Dockerfile # 使用官方 Nginx 镜像FROM nginx:1.25# 复制自定义配置文件COPY nginx.conf /etc/nginx/nginx.conf# 复制网站文件COPY html /usr/share/nginx/html# 暴露 Nginx 端口EXPOSE 80 2编写配置文件和网站文件 将 nginx.conf 和 html 目录放在 Dockerfile 同级目录下。 3构建镜像 由于 Docker Hub 镜像拉取可能不稳定可以使用公开的镜像加速服务如 docker.m.daocloud.io。 # 拉取 nginx 镜像需要跟 Dockerfile 中同版本docker pull docker.m.daocloud.io/nginx:1.25# 修改标签docker tag docker.m.daocloud.io/nginx:1.25 nginx:1.25# 构建镜像docker build -t mynginx . 4运行容器 docker run -d -p 80:80 --name mynginx mynginx 3.3 实例2构建 Java 应用镜像 1准备工作 确保 Java 应用已经打包成 JAR 文件并放在 Dockerfile 同级目录下。 2编写 Dockerfile # 使用官方 OpenJDK 镜像FROM openjdk:8# 指定作者MAINTAINER liyb liybgdhmail.com# 设置时区并创建工作目录RUN cp -a -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \mkdir /work# 复制 JAR 文件到工作目录COPY *.jar /work/app.jar# 暴露应用端口EXPOSE 9999# 设置容器启动时运行的命令ENTRYPOINT java -jar /work/app.jar 3构建镜像 # 构建镜像docker build -t myapp . 4运行容器 docker run -d -p 8080:9999 myapp Dockerfile 优化技巧 在编写高效的 Dockerfile 时可以遵循以下最佳实践以便优化镜像的构建和运行性能 4.1 使用轻量基础镜像 选择小巧的基础镜像如 Alpine以减少最终镜像的体积。 4.2 合并命令 每个指令如 RUN、COPY 等都会生成一个新的镜像层。使用  将多个 RUN 命令合并减少镜像层数从而提高构建速度和效率。 RUN wget http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz \tar -zxvf nginx-$NGINX_VERSION.tar.gz \cd nginx-$NGINX_VERSION \./configure --prefix/usr/local/nginx --with-http_ssl_module \make \make install 4.3 缓存优化 合理地安排指令顺序将不常变化的指令放在 Dockerfile 前面常变化的放在后面以利用缓存加快构建速度。 4.4 使用 .dockerignore 排除不必要的文件减小上下文大小提升构建速度。 4.5 多阶段构建 利用多阶段构建仅将最终运行所需的文件复制到最终镜像降低镜像大小。 4.6 优化入口 Dockerfile是一个文本文件其中包含了用于创建Docker镜像的一系列指令和参数。这些指令定义了镜像的构建步骤从基础镜像开始逐层添加软件、配置文件、依赖项等直到构建出最终的应用镜像。
http://www.hkea.cn/news/14281664/

相关文章:

  • 网站开发竞争对手分析个人自助网站
  • 如何做内容收费的网站浏览器2345
  • 优猫券网站怎么做高州市荷花镇网站建设
  • 工作室主题网站网站设计方案书
  • vs2010 iis 网站开发wordpress 指定分类
  • 中山 环保 骏域网站建设专家微信运营管理软件
  • 厦门市建设执业资格注册管理中心网站网站系统建设系广告经营者
  • 石景山网站建设公司排行朝阳区seo技术
  • 怎么形容网站做的好青岛建设交易中心网站
  • 旅游的网站优秀wordpress主题
  • 湛江免费企业建站织梦网站数据库备份文件夹
  • 网站代码加密网站建设推广语
  • 河南网站建设哪家有有限公司技术支持 东莞网站建设
  • 海淀区手机网站设计服务6自己做app建网站
  • 北京网站设计首选 新鸿儒辽阳网站设计
  • 无锡公共建设中心网站wordpress被屏蔽了api
  • 云购网站开发制作一个小型网站
  • 门户网站建设与管理手机参数网
  • destoon做众筹网站申请公司邮箱
  • 如何建立公司网站网页小说主角王烨
  • 邢台做网站优化费用医院网站建设需要注意什么
  • 地图 添加到网站哈尔滨网站制作建设
  • 公司网站建设网络推广可以做效果图的网站
  • 如何用jsp做网站哈工大 网站开发
  • 网站不良正能量直接进入西南交通建设集团有限公司网站
  • 天津最好网站建设公司长春网络公司宣传
  • 网站建设图片怎么加水印中国最大型网站
  • 东莞哪里能学建设网站网站建设与推广完美结合
  • 网站共享备案wordpress 免费主题下载
  • 算命购物网站建设网页制作三剑客不包括