zoukankan      html  css  js  c++  java
  • Dockerfile 命令

    Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

    1、FROM 指定基础镜像构建

    ​ FROM 镜像

    ​ 2、COPY 复制命令。从上下文目录中复制文件或者目录到容器里指定路径。

    ​ 写法:

    ​ COPY 源路径,目标路径

    ​ COPY ["源路径","目标路径"]

    3、RUN运行指令。构建的时候运行的指令

    ​ 主要在于镜像构建的时候运行,运行build命令的时候

    ​ 后面接的命令就是shell输入的命令

    ​ 写法

    ​ RUN shell命令 参数1 参数2

    ​ RUN ["shell命令 ","参数1"," 参数2"]

    ​ 例如:

    ​ RUN ["echo",">"," /usr/share/index.html"]

    ​ 4、CMD运行指令。运行容器时候运行的指令

    ​ 主要在于镜像运行容器的时候生成,运行run的时候运行

    ​ 写法

    ​ CMD <shell 命令>
    ​ CMD ["<可执行文件或命令>","<param1>","<param2>",...]

    ​ 例如:

    ​ CMD ["dotnet","rmcore.dll"]

    ​ 缺点:在run 命令后面可以进行覆盖

    ​ docker run -d -P rmcore dotnet rmcore.dll 进行覆盖掉

    ​ 5、ENTRYPOINT运行指令。运行容器时候运行的指令(不会被覆盖)

    ​ 写法

    ​ ENTRYPOINT ["<executeable>","<param1>","<param2>",...]

    ​ 可以和CMD动态结合,设置动态的配置参数

    ​ 例如

    ​ ENTRYPOINT ["nginx", "-c"] 定参

    ​ CMD ["/etc/nginx/nginx.conf"]变参

    ​ 6、EXPOSE暴露端口指令

    ​ 仅仅声明端口,就是指定镜像暴露的端口

    ​ 在run 的时候,通过docker run -p 会自动随机映射到EXPOSE端口

    ​ 写法

    ​ EXPOSE 端口

    ​ EXPOSE 端口

    ​ 例如

    ​ EXPOSE 5000

    ​ EXPOSE 5001

    ​ 7、WORKDIR工作目录指令

    ​ 用于应用在容器内的工作目录,就好比:ruanmou目录

    ​ 写法

    ​ WORKDIR <工作目录路径>

    ​ 例如

    ​ WORKDIR /rmcore

    ​ 或者

    ​ WORKDIR /nginx

    8 netcore镜像构造

    FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
    WORKDIR /app
    EXPOSE 80
    
    FROM microsoft/dotnet:2.2-sdk AS build
    WORKDIR /src
    COPY docker/docker.csproj docker/
    RUN dotnet restore docker/docker.csproj
    COPY . .
    WORKDIR /src/docker
    RUN dotnet build docker.csproj -c Release -o /app
    
    FROM build AS publish
    RUN dotnet publish docker.csproj -c Release -o /app
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app .
    ENTRYPOINT ["dotnet", "docker.dll"]
    

      

    官方文档介绍:https://docs.docker.com/engine/reference/builder/

  • 相关阅读:
    Python学习之路 (五)爬虫(四)正则表示式爬去名言网
    Python学习之路 (四)爬虫(三)HTTP和HTTPS
    Python学习之路 (三)爬虫(二)
    Python学习之路 (二)爬虫(一)
    Python学习之路 (一)开发环境搭建
    ZooKeeper学习之路 (十一)ZooKeeper API的应用
    ZooKeeper学习之路 (十)Hadoop的HA集群的机架感知
    Spring Security
    Spring Validation
    [转]linux下完全备份数据库mysql
  • 原文地址:https://www.cnblogs.com/Tony100/p/12564180.html
Copyright © 2011-2022 走看看