Dockerfile Reference(中文手册)

Docker 使用手册 Docker 简单使用 阅读详情

Dockerfile文件

1.作用

​ Docker可以通过读取Dockerfile文件自动构建镜像

2.构建命令docker build
2.1作用

docker build 可以根据Dockerfile文件和context来构建镜像.其中context为如下:

The build’s context is the set of files at a specified location PATH or URL.

  1. The PATH is a directory on your local filesystem.
  2. The URL is a Git repository location.
docker build . #其中.就是context中的path

Note:有的时候在context处会创建一个.dockerignore文件,来排除文件和目录

2.2.Dockerfile文件的位置
  1. 一般Dockerfile文件存在docker build context的根目录处。或者可以用docker build -f 指定Dockerfile文件位置.

    docker build -f /path/to/a/Dockerfile .
    
  2. 可以使用-t来指定生成的新镜像(new image)保存的仓库位置(a repository and tag)

    docker build -t shykes/myapp .
    
2.3.Dockerfile构建过程

在这里插入图片描述

在构建过程中存在build-cache来加速构建过程

3. BuildKit
3.1.作用

在这里插入图片描述

3.2 使用

Dockerfile利用buildKit来加速构建过程,必须要设置环境变量DOCKER_BUILDKIT=1在docker build之前

如何书写利用buildKit的Dockerfile

4.Dockerfile格式
4.1.基本格式
# Comment
INSTRUCTION arguments
  1. instruction指令不是大小写敏感的,但是常用大写来区分arguments。
  2. 在comment和Instruction的前置空格(leading whitespace)是被忽略的。
4.2.解析器指示(parser directive)和全局变量ARGs

4.2.1解析器指示:

  1. 作用:指定了Dockerfile中命令行的处理方式即bash还是shell

  2. 位置: Therefore, all parser directives must be at the very top of a Dockerfile. (即全局变量、INSTRUCTION以及注释 前)

  3. 格式: # directive=value

  4. 注意:# directive=value只能出现一次,允许在解析器指示中使用非换行空格(Non line-breaking whitespace)

  5. 具体的解析器指令即directive有syntax和escape

  6. syntax

    1. 格式:

      # syntax=[remote image reference]
      This feature is only available when using the BuildKit backend, and is ignored when using the classic builder backend.
      
    2. 作用:syntax 指示定义了Dockerfile的语法来构建该Dockerfile

    3. 其中remote image reference的Official releases

  7. escape

    1. 格式:

      # escape=\
      or 
      # escape=`
      
    2. 作用:设置Dockerfile中的转义字符,默认为反斜线即# escape=\ (backslash)

    3. 转义字符(escape character)的作用:

      1. 转义字符
      2. 衔接下一行(This allows a Dockerfile instruction to span multiple lines. ),但不会在RUN命令中执行转义,除非在行尾。
4.2.2 **ENV环境变量(environment replacement)
  1. 声明: ENV variable_name=value …

  2. 引用: $variable_name or ${variable_name}

  3. 在引用中使用bash修饰符:

    1. ${variable:-word}:如果variable设置,则结果就是设置的值;如果variable没有设置,则结果就是word
    2. ${variable:+word}:如果variable设置,则结果就是word;如果variable没有设置,则结果就是空字符串(empty string)
  4. 例子:

    FROM busybox
    ENV FOO=/bar
    WORKDIR ${FOO} #WORKDIR /bar
    ADD . $FOO     #ADD . /bar
    COPY \$FOO /quux #COPY $FOO /quux
    

在这里插入图片描述
5. 适用INSTRUCTION (This value will be in the environment for all subsequent instructions in the build stage and can be replaced inline in many as well.):

​ ADD、COPY、ENV、EXPOSE、FROM、LABEL、STOPSIGNAL、USER、VOLUME、WORKDIR、ONBUILD

  1. 注意:

    与LABEL Instruction、ARG Instruction(关于变量设置)一样,如果key或者value字符串中没有转义字符、空格以及环境变量时,不需要用双引号括起来。
    在这里插入图片描述
    ​ 以上等价于 ENV MY_NAME=“John Doe” MY_DOG=REX\ The\ Dog MY_CAT=fluffy

4.3.** ARG
  1. 位置:ARG声明变量可以在第一个FROM指令前面,也能FROM指令后面

  2. 格式:ARG variable_name=variable_value

    ARG  CODE_VERSION=latest
    FROM base:${CODE_VERSION}
    CMD  /code/run-app
    
    FROM extras:${CODE_VERSION}
    CMD  /code/run-extras
    
  3. 注意: 由于ARG可以出现在FROM指令前面,那么该ARG设置的值不在构建阶段(一个构建阶段指的是:两个FROM之间的指令),如果在FROM指令之后进入构建阶段后想要使用FROM指令前设置的ARG变量值,则必须在构建阶段重新用ARG声明变量名但不设置值。

    ARG VERSION=latest
    
    FROM busybox:$VERSION 
    ARG VERSION
    RUN echo $VERSION>image_version
    
**ARG和ENV的区别:
  1. ARG只能使用在构建镜像过程中FROM等命令中。(构建过程)
  2. ENV可以使用构建镜像过程中和容器启动过程中,即从引入该ENV的行开始。(构建过程、运行过程)
#The environment variables set using ENV will persist when a container is run from the resulting image.
ENV DEBIAN_FRONTEND=noninteractive 

#using ARG, which is not persisted in the final image
ARG DEBIAN_FRONTEND=noninteractive  #具有自动识别的功能
RUN apt-get update && apt-get install -y ...

# Only effective in the RUN instruction
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y ...
4.4.**FROM
  1. Dockerfile必须以FROM指令开头,但在**解析器指示(Parser directives)、注释(comment)以及全局变量ARGs后面。**FROM指明了构建新镜像的基础镜像

  2. 格式:

    FROM [--platform=<platform>] <image> [AS <name>]
    FROM [--platform=<platform>] <image>[:tag] [AS <name>]
    FROM [--platform=<platform>] <image>[@<digest>] [AS <name>]
    

    image:来自Public Repositories.的可以pull的镜像
    AS < name >:对构建过程进行命名The name can be used in subsequent FROM and COPY --from=<name> instructions to refer to the image built in this stage.

    :tag/@digest:指明基础镜像的版本号,默认latest

    –platform=< platform >:指明构建的新镜像适用的平台,选项有linux/amd64,linux/arm64,windows/amd64 (amd为桌面级处理器和桌面级GPU的厂商,而ARM为移动级处理器的生产厂商)

  3. 注意:

    1. 在一个Dockerfile文件中可以出现多个FROM指令来构建多个不同的镜像或者一个构建阶段作为另一个构建阶段的依赖。
4.5. **RUN
  1. 作用:RUN指令将会在当前镜像的顶层(创建的新层)上执行RUN后面的command,然后提交结果(commit the results)

  2. 格式:主要有两种

    1. RUN < command > :等价于在Linux系统上 /bin/sh -c ‘< command >’ ;在window系统上 cmd/S /C。 其实是可以根据自己的需要执行特定的脚本语言: (shellform)

      RUN /bin/bash -c 'source $HOME/.barhrc;\
      echo $HOME'
      1. 在RUN Instruction中可以执行多条命令commands用;间隔
      2. 在RUN Instruction中不同命令commands可以处在不同行,用规定的转义字符衔接,默认为\
      
      以上的Instruction等价于
      RUN /bin/bash -c 'source $HOME/.bashrc;echo $HOME'
      
      以上的Instruction等价于
      RUN ["/bin/bash","-c","source $HOME/.bashrc;echo $HOME"]
      
    2. RUN [“executable”,“param1”,“param2”] (execform)
      在这里插入图片描述

    在Linux系统中单引号和双引号的区别 主要区别是双引号字符串中会对特殊字符进行处理,而单引号不会对特殊字符进行处理

    因为:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4K6WhvOg-1657461351124)(Dockerfile.assets/image-20220709113441638-165733768385110.png)]

    所以:
    在这里插入图片描述

    1. 注意:

      The cache for RUN instructions isn’t invalidated automatically during the next build. The cache for an instruction like RUN apt-get dist-upgrade -y will be reused during the next build. The cache for RUN instructions can be invalidated by using the --no-cache flag, for example docker build --no-cache.

      ​ 在下一次构建过程中,关于RUN instructions的缓存不会自动失效,换句话说会用上一次RUN构建缓存结果代替重新执行命令。如果采用上一次的RUN缓存,则用docker build;否则 docker build --no-cache

4.6. **CMD
  1. 格式:

    CMD ["executable","param1","param2"] (exec form, this is the preferred form)
    CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
    CMD command param1 param2  (shell form) 默认采用的是/bin/sh -c “command”
    
  2. 作用:为启动容器时提供默认命令。等价于docker run -d xxx command

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3KHFQrcg-1657461351127)(Dockerfile.assets/image-20220709192232546-165736575340511.png)]

  1. 注意:

    1. CMD指令只能在Dockerfile中出现一次,如果出现多次则以最后一个CMD instruction为准。
    2. 在CMD指令中引用环境变量采用的是exec form,以及execform中的采用的是双引号而不是单引号。
    3. 如果用户使用docker run指定容器启动的命令则会覆盖CMD的instruction。
4.7. **CMD和RUN的区别

在这里插入图片描述

  1. RUN作用在镜像构建过程中,CMD作用在镜像封装成容器启动时。
  2. RUN的结果会影响新镜像的构建,CMD的结果会影响容器启动执行的指令。
4.8.Label
  1. 格式:

    LABEL <key>=<value> <key>=<value> <key>=<value> ......
    要在key和value中使用空格则用双引号括起来和反斜杠衔接另一行
    
  2. 作用:

    可以为生成的镜像添加元数据标签信息,这些信息可以用来辅助过滤出特定镜像,其LABEL设置的结果可以用 docker image inspect < image-name > 显示

4.9.MAINTAINER(deprecated)
  1. 作用:为生成的镜像设置作者author字段元数据,可以用LABEL替代,可以用docker inspect命令查看

  2. 格式:

    MAINTAINER <name>
    等价于
    LABEL author=<name>
    
4.10. **EXPOSE
  1. 格式:

    EXPOSE <port> [<port>/<protocol>...]
    
  2. 作用:

    EXPOSE指令通知Docker容器运行时监听的特定端口号,既可以监听TCP端口也可以是UDP端口,但默认是TCP端口.
    在这里插入图片描述
    EXPOSE并没有对主机外的网络暴露容器端口,必须要用docker run -p指定主机端口和容器端口的映射(set up port redirection on the host system)。 此时网络连接通过-p指定的主机端口映射到容器内部端口,实现容器与外部的通信.例子如下:

    EXPOSE 80/udp 
    EXPOSE 80/tcp
    
    docker run -p 80:80/tcp -p 80:80/udp ...
    此时网络可以通过host的80端口号映射到container的80端口号,使得容器中的应用与外部进行通信
    

    具体docker中的网络配置

4.11 **ADD
  1. 格式:

    ADD [--chown=<user>:<group>]<src>...<dest>
    ADD [--chown=<user>:<group>]["<src>",...,"<dest>"]
    当后一个形式的路径可以有空格、转义字符以及环境变量。
    <src>:如果是文件或者目录时,<src>路径会理解为docker build时context的相对路径.
    <dest>:是被构建镜像的文件系统的路径.可以是绝对路径或者相对于<WORKDIR>的相对路径
    --chown:指明新创建的文件在镜像中的所有权默认是UID和GID为0即root用户
    <user>:<group>:可以是用户名、群组名或者UID、GID的组合
    
  2. 作用:

    Add instruction复制新文件、新目录以及远程URL的文件< src >到该镜像文件系统的特定位置< dest >。

  3. 注意:

    1. –chown: 参数只能支持构建Linux容器的Dockerfile,不支持构建Window容器的Dockerfile

      If a username or groupname is provided, the container’s root filesystem /etc/passwd and /etc/group files will be used to perform the translation from name to integer UID or GID respectively.
      在这里插入图片描述

    2. < src >可能有通配符,匹配规则

    3. 如果URL文件存在验证保护,则需要用RUN wget,RUN curl来代替ADD


    4. < src >只能指向context内部,不能context之外

    5. if < src >是URL的规则

    1. if < src >是文件夹的规则:
      在这里插入图片描述
      < src >中指向文件夹的内容会被复制到新镜像中特定位置,但文件夹本身不会复制。

    2. if< src >是文件时:
      在这里插入图片描述

      重点:如果< src >是文件,< dest >后面没有反斜杠,则被认为对< src >文件的重命名

  4. 例子:

    ADD hom?.txt /mydir/
    把context主目录下的hom?.txt文件复制到镜像文件系统中/mydir/目录下
    
    The example below uses a relative path, and adds “test.txt” to <WORKDIR>/relativeDir/:
    ADD test.txt relativeDir/ #  relativeDir/ 第一个字符如果不是/表示相对路径最后以/结尾表示目录
    
    ADD test.txt /relativeDir/ #把context目录下的test.txt复制到镜像系统中绝对路径/relativeDir/m
    
4.12. **COPY
  1. 格式:

    COPY [--chown=<user>:<group>] <src>...<dest>
    COPY [--chown=<user>:<group>] ["<src>","<src>",...,"<dest>"]
    当后一个形式的路径可以有空格、转义字符以及环境变量。
    <src>:如果是文件或者目录时,<src>路径会理解为docker build时context的相对路径.
    <dest>:是被构建镜像的文件系统的路径.可以是绝对路径或者相对于<WORKDIR>的相对路径
    --chown:指明新创建的文件在镜像中的所有权默认是UID和GID为0即root用户
    <user>:<group>:可以是用户名、群组名或者UID、GID的组合
    
  2. 作用:

    COPY instruction从< src >中复制新文件、新目录至容器中< dest >位置.其余与ADD instruction类似

  3. 注意:

    1. –chown: 参数只能支持构建Linux容器的Dockerfile,不支持构建Window容器的Dockerfile,由于只有Linux系统下有/etc/passwd以及/etc/group两个记录着UserName与UID、GroupName与GID转换。

    2. < src >可能有通配符,匹配规则

    3. 在这里插入图片描述

      < src > 只能指向context内部,不能context之外

    4. 如果 < src >是文件夹

    1. 如果< src >是文件
      在这里插入图片描述

      重点:如果< src >是文件,< dest >后面没有反斜杠,则被认为对< src >文件的重命名

4.13.**ENTRYPOINT
  1. 格式:

    ENTRYPOINT ["executable","param1","param2"] (exec form)
    ENTRYPOINT command param1 param2   (shell form)
    首选exec form的ENTRYPOINT
    
  2. 作用:

    ENTRYPOINT可以配置将作为可执行文件运行的容器。

  3. exec form ENTRYPOINT 例子

    1. 作用:

      Command line arguments to docker run <image> will be appended after all elements in an exec form ENTRYPOINT, and will override all elements specified using CMD

      docker run < image >命令行中的参数将会添加到exec form ENTRYPOINT元素之后执行,且将会覆盖CMD指令.

4.14.** WORKDIR
  1. 格式:

    WORKDIR <path>
    
  2. 作用:

在这里插入图片描述

为RUN、CMD、ENTRYPOINT、COPY、ADD设置工作目录,换句话说上述5个Instruction的相对路径都是相对于设置的WORKDIR

相对路径的写法:不以“/”开头

绝对路径的写法:以“/”开头

如果不设置WORKDIR,默认为/即镜像中的root根路径,In practice, if you aren’t building a Dockerfile from scratch (FROM scratch), the WORKDIR may likely be set by the base image you’re using.,所以自己构建新镜像时最好要设置WORKDIR.

  1. 注意:

    1. WORKDIR instruction可以使用多次,最终的WORKDIR是多个WORKDIR instruction的叠加.

      WORKDIR /a #绝对路径/a
      WORKDIR b  #相对于前一个WORKDIR的相对路径即/a/b
      WORKDIR c  #相对于前一个WORKDIR的相对路径即/a/b/c
      RUN pwd
      上面的dockerfile的完整的WORKDIR为/a/b/c
      
    2. WORKDIR 指令可以 解析之前使用 ENV 设置的环境变量。 您只能使用在 Dockerfile 中显式设置的环境变量。

      ENV DIRPATH=/path
      WORKDIR $DIRPATH/$DIRNAME
      输出的结果:/path/$DIRNAME,由于$DIRNAME没有在dockerfile中显式设置
      
4.15.USER
  1. 格式:
5. .dockerignore 文件
  1. 位置:存放在docker build 的context的根目录(即当执行docker build 时会在context的根目录下寻找.dockerignore文件)

  2. 作用:If this file exists, the CLI modifies the context to exclude files and directories that match patterns in it.This helps to avoid unnecessarily sending large or sensitive files and directories to the daemon and potentially adding them to images using ADD or COPY.

  3. 内容:

    1. .dockerigonre文件中的匹配的文件和文件夹,是以docker build的context为根目录

      即 /foo/bar则忽略context下foo子目录中的bar文件夹或者文件

    2. .dockerignore文件中第一行以#开头的认为是注释

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-enQzEozk-1657461351131)(Dockerfile.assets/image-20220708201027546-16572822284984-16572823648315.png)]

    3. .dockerignore文件的匹配规则是按照 Go’s filepath.Match rules.以及表示context下的匹配任意层次的文件夹(包括context根目录)

      即**/* .go表示 will exclude all files that end with .go that are found in all directories, including the root of the build context.

    4. !开头表示可以排除例外情况

    5. .dockerignore甚至可以排除dockerfile文件以及.dockerignore文件

  4. 例子:

    # comment
    */temp*
    */*/temp*
    temp?
    *.md
    !README.md
    

在这里插入图片描述

*.md :排除context目录下所有以.md后缀的文件

!README.md:context目录下README.md文件不会被排除.

*.md
!README*.md
README-secret.md
排除的文件为:context下的*.md-!README*.md+README-secret.md

*.md
README-secret.md
!README*.md
排除的文件为:context下的*.md+README-secret.md-!README*.md=*.md-!README*.md
6.参考文献:

Dockerfile Reference

CARLA中文文档:真实场景驱动的自动驾驶仿真操作手册 CARLA模拟器是自动驾驶研发中关键的仿真基础设施,其核心价值在于支持高保真、可复现的传感器仿真、多智能体协同与物理天气建模。然而,官方英文文档侧重API参考,缺乏对ROS2集成、坐标系对齐、raw_data内存布局、tick时序控制等工程细节的系统性说明,导致大量开发者卡在环境配置、数据解析与多车同步等环节。本文聚焦‘真实场景对齐’(RSS)理念,覆盖CARLA 0.9.13–0.9.15版本实测验证的安装部署、传感器数据解析、天气参数工程化调节及Sync Mode时序陷阱等关键技术点,特别强化了raw_ 阅读详情

相关推荐

【打工日常】云原生之使用docker部署运维日常速查工具reference

它为开发人员分享快速参考备忘清单【速查表】这是英文版 Reference的中文版本,目的是为了方便自己的技术栈查阅,包含:运维,前端,后端,工具,命令,数据库。是日常工作中的速查神器。a.本次实践部署环境为个人笔记本ubuntu日常工作的测试环境,若是生产环境请谨慎部署;b.本次实践为快速使用docker部署开源Reference于个人ubuntu上。

全糖少冰我吃不了苦 1054

Docker Dockerfile中文参考手册 (Dockerfile reference)

官网原文链接 Docker当前版本是18.03 文章目录Dockerfile参考(Dockerfile reference)用法(Usage)格式(Format)解析器指令(Parser directives)转义(escape)环境更换(Environment replacement).dockerignore文件FORM 指定基础镜像了解ARG和FROM如何互动RUN 执行命令已知问题(R...

hugowang的博客 3992

玩转Docker | 使用Docker部署本地自托管reference速查表工具

玩转Docker | 使用Docker部署本地自托管reference速查表工具

qq_59334230的博客 595

Docker 学习手册

本文是Docker用户手册,包含安装指南、基础概念和使用命令。手册详细介绍了镜像管理、容器操作、Dockerfile编写、数据/网络管理、安全配置等内容,并提供了Docker Compose示例和生产环境最佳实践。还包含故障排除方法、性能优化建议和学习资源,帮助用户从入门到精通掌握Docker技术。手册涵盖Windows/Linux平台的安装方式,以及桌面版特有功能,适用于不同水平的Docker用户。

weixin_44123412的博客 757

嵌入式下载故障排查:ST-LINK与GD32 Programmer典型问题解决

嵌入式固件烧录是MCU开发的关键环节,其本质依赖于调试器(如ST-LINK、GD-Link)与目标芯片间的协议通信、驱动加载及硬件接口协同。原理上,SWD/JTAG协议需在正确时序、电平与供电条件下完成设备枚举、ID读取与Flash编程;技术价值在于保障量产烧录稳定性与调试可重复性;典型应用场景涵盖STM32/GD32教学开发、工业控制板量产调试及Windows 11新系统适配。本文聚焦ST-LINK-V2在Keil MDK中的下载失败和GD32 All In One Programmer的DLL加载异常两

weixin_35006125的博客 153

MIPI CSI-2 协议解析

CSI-2标准协议前言一、Overview of CSI-2二、CSI-2 layer Definitions三、 Camera Control Interface(CCI)3.1 数据传输协议(Data Transfer Protocol)3.1.1 消息类型(Message Type)3.1.2 读写操作(Read/Write Operations)3.1.2.1 随机位置单次读3.1.2.2 当前位置单次读3.1.2.3 随机位置连续读3.1.2.4 当前位置连续读3.1.2.5 随机位置单次写3.1

Lucky 3万+

Dockerfile reference

Docker can build images automatically by reading the instructions from aDockerfile. ADockerfileis a text document that contains all the commands a user could call on the command line to assemble an...

南风不竞的专栏 1904

CLIP-Count代码配置以及踩坑记录

CLIP-Count代码配置以及踩坑记录

学术菜鸡 1011

dockerfile reference

dockerfile referencedockerfile reference 用法 Format Environment replacement 用法docker build 这个命令可以通过dockerfile和context来构建一个镜像,context是通过PATH 和URL 来设置的,PATH是一个在本地文件系统的目录,URL是一个本地git仓库context是递归处理的,所以一个PAT

凤朝飞 354

解决vLLM安装卡在vllm-nccl-cu12依赖项的实战指南

本文提供了解决vLLM安装过程中卡在vllm-nccl-cu12依赖项的详细指南。通过分析CUDA版本兼容性问题,介绍了三种实用解决方案:安装指定版本vLLM、手动安装nccl-cu12依赖以及升级CUDA到12.x版本,并特别针对离线环境提供了安装建议,帮助开发者顺利完成vLLM的安装部署。

weixin_29098367的博客 514

KUKA机器人自动回原点程序

创建两个全局变量分别用于储存机器人的笛卡尔姿态与关节角姿态。打开System文件夹中的config文件创建全局变量的点位。在USER GROBALS用户自定义变量Userdefined variables下创建一个E6POS类型的点位,一个E6AXIS类型的点位。

A567852的博客 5210

Dockerfile reference翻译

对官方文档的粗略翻译

weixin_43406695的博客 2087

基于决策树的英雄联盟比赛胜负预测(含完整代码)

在代码中设置随机种子(例如 RANDOM_SEED = 2024)的主要目的是为了确保每次运行代码时,随机过程的结果是一致的。通过绘制不同参数组合下的准确率图,直观地展示了参数对模型性能的影响,帮助读者更好地理解和选择合适的参数。通过设置相同的随机种子(伪随机数),可以确保每次运行代码时,随机数生成器生成的随机数序列是相同的。如果在开发过程中遇到问题,设置固定的随机种子可以帮助你更容易地定位问题,因为每次运行代码时的数据和结果都是一样的。在科学研究和实验中,结果的可重复性是非常重要的。

oisflo的博客 1919

Dockerfile 中文参考文档

如何写Dockerfile,Dockerfile 参考文档 | Deepzz's Blog  https://deepzz.com/post/dockerfile-reference.html dockerfile官方英文文档   Dockerfile reference - Docker  https://docs.docker.com/engine/reference/builder/

我是guyue,guyue就是我O(∩_∩)O 1万+

agent-browser OpenClaw 的最佳搭档

agent-browser 是专为 AI Agent 设计的浏览器自动化工具,目前被公认为 OpenClaw 的最佳配套方案。这份技术文档完整记录了其架构、协议、性能调优与常见问题处理,非常适合想让OpenClaw 真正“上手”互联网的开发者与老用户。

liu_zhiyi的博客 1780

日语五十音图速记攻略:从形象联想法到实战训练

语言学习中的记忆编码与条件反射构建是高效掌握基础的关键。其核心原理在于通过将抽象符号与具象图像、故事或已知概念关联,利用大脑对视觉和叙事信息的天然高记忆效率,从而降低认知负荷,加速识别与反应速度。这一方法的技术价值在于将机械重复转化为意义联结,显著提升长期记忆的牢固度与提取速度。在日语学习这一具体应用场景中,五十音图作为表音文字系统,正是实践这一记忆技术的绝佳对象。通过系统化的形象联想、分组对比(如平假名与片假名的对应关系)以及间隔重复的实战训练,学习者可以高效攻克这一入门难关,为后续的词汇、语法学习铺设坚

weixin_29032489的博客 377

Dockerfile reference && Best practices for writing Dockerfiles

Dockerfile reference( Dockerfile 参考文档) 官方英文文档地址 http://docs.docker-cn.com/engine/reference/builder/ 中文翻译文档地址 https://deepzz.com/post/dockerfile-reference.html Best practices for writing Dockerfiles...

qq_41550170的博客 258

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

BlueBuild CLI 项目中 Dockerfile 语法格式错误的解决方案

BlueBuild CLI 项目中 Dockerfile 语法格式错误的解决方案 在基于 BlueBuild CLI 项目构建容器镜像时,开发者可能会遇到一个常见的构建错误:"invalid reference format"。这个错误通常与 Dockerfile 的语法声明格式不正确有关。本文将从技术角度分析这个问题的成因和解决方案。 问题现象 当用户尝试构建容器镜像时,构建...

gitblog_07709的博客 626

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Dockerfile 踩坑记

Dockerfile 看起来很简单嘛,但是自己实际操作的时候,还是有几个地方需要注意的 Dockerfile内容: #FROM ubuntu:18.04 #测试的乌班图 FROM python:3.6-stretch # 直接使用python3.6 MAINTAINER longruanyun "longruanyun@qq.com" #RUN apt-get update #RUN apt-g...

猫影 2704

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Defending Code Reference Harness与Claude Security对比:开源方案如何选择?

在当今快速发展的AI安全领域,**开源安全扫描工具**和**商业安全解决方案**之间的选择成为了许多开发团队面临的关键决策。Defending Code Reference Harness作为一款强大的开源漏洞检测框架,与Anthropic的Claude Security服务形成了有趣的对比。本文将深入分析这两个**代码安全扫描工具**的核心差异,帮助您做出明智的选择。 ## 🔍 核心功能对比

gitblog_00147的博客 411

Lucky反向代理完整实战指南:5分钟把内网服务安全暴露到外网

NAS 上跑着 Jellyfin、Pi-hole、Gitea,想从外网访问又不想挨个开端口。Lucky反向代理 就是干这个的:一个端口收

gitblog_00424的博客 500

Docker---镜像制作与Dockerfile

Docker—镜像制作与Dockerfile 一.镜像制作的三种方式 1.基于已有的镜像创建 查看镜像 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos 7 ...

obsessiveY的博客 605

在centos7.5使用DockerFile构建镜像时报错“Error parsing reference: "microsoft/dotnet:2.2-aspnetcore-runtime AS b...

运行dockerfile时报出的错误 FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base Error parsing reference: "microsoft/dotnet:2.2-aspnetcore-runtime AS base" is not a valid repository/tag: invalid reference form...

weixin_30532759的博客 1887

Defending Code Reference Harness深度剖析:AI驱动安全扫描的7阶段架构解析

在当今快速迭代的软件开发环境中,传统的手动安全审计已无法满足现代代码库的复杂性和规模需求。Defending Code Reference Harness作为一个革命性的开源工具链,通过7个精心设计的阶段,将AI驱动的漏洞发现和修复过程完全自动化,为技术决策者和架构师提供了一个完整的解决方案。这个基于Claude的自动化漏洞扫描框架特别擅长处理C/C++代码中的内存安全问题,通过智能代理和沙盒环境

gitblog_00901的博客 359
上一篇: Distributed_事务_共识(主从复制共识问题)
下一篇: Linux bash学习一篇即可
Blockchain410
博客等级 码龄5年 3230粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blockchain410

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值