zoukankan      html  css  js  c++  java
  • Docker学习笔记(2):使用Dockerfile构建镜像

    Dockerfile是用来构建Docker镜像的文件,是由一系列命令和参数构成的脚本。每条指令都必须为大写字母且后面要跟随至少一个参数,每条指令都会创建一个新的镜像层,并对镜像进行提交。

    Dockerfile指令

    FROM
    初始化一个新的构建阶段,并为后续指令设置基本镜像。

    RUN
    容器构建时需要运行的命令。将在当前镜像之上的新层中执行任何命令并提交结果。生成的提交镜像将用于Dockerfile中的下一步。

    EXPOSE
    当前容器在运行时监听指定的网络端口,可以指定端口监听TCP还是UDP,如果没有指定协议,则默认为TCP。

    WORKDIR
    指定在创建容器后,终端默认登录进来的工作目录。

    ENV
    用来在构建镜像过程中设置环境变量。

    ADD
    将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包。

    COPY
    类似ADD,拷贝文件和目录到镜像中。

    VOLUME
    容器数据卷,用于数据保存和持久化工作。

    CMD
    指定一个容器启动时运行的命令。一个Dockerfile中只能有一条CMD指令,如果有多条CMD指令,那么只有最后一个CMD会生效,并且CMD会被docker run之后的参数替换。

    ENTRYPOINT
    指定一个容器启动时运行的命令。docker run的命令行参数将追加到ENTRYPOINT中的所有元素之后。

    ONBUILD
    当构建一个被继承的DockerFile时运行命令,父镜像在被子继承后父镜像的onbuild被触发。

    USER
    设置用户名(或UID)和可选的用户组(或GID),以便在运行镜像时使用。

    构建一个SpringBoot镜像

    1.编写dockerfile文件:

    FROM centos
    WORKDIR /myjar
    RUN yum -y install java-1.8.0-openjdk.x86_64  
    COPY ./demo-0.0.1-SNAPSHOT.jar /myjar/demo.jar
    EXPOSE 8080
    CMD ["java","-jar","demo.jar"]
    
    

    2.构建镜像

    docker build -f dockerfile -t buhe/demo:1.0 .
    

    输出:

    Sending build context to Docker daemon  17.58MB
    Step 1/6 : FROM centos
     ---> 470671670cac
    Step 2/6 : WORKDIR /myjar
     ---> Running in 1f4ecc625997
    Removing intermediate container 1f4ecc625997
     ---> 51d72f80b218
    Step 3/6 : RUN yum -y install java-1.8.0-openjdk.x86_64
     ---> Running in 5988467076a7
    ......
    

    3.查看构建的镜像

    4.运行

    docker run -d -p 8080:8080  buhe/demo:1.0
    

    5.访问

    curl -i http://localhost:8080/hello
    

    输出:

    HTTP/1.1 200 
    Content-Type: text/plain;charset=UTF-8
    Content-Length: 14
    Date: Tue, 18 Feb 2020 08:56:02 GMT
    
    Hello World!!!
    
  • 相关阅读:
    两个单链表的第一个公共节点
    对于混沌定义中三个条件的理解
    sort()函数使用详解
    C++优先队列详解
    第一次只出现一个的字符
    丑数
    把数组排成最小的数
    从1到n整数中1的个数
    git相关知识
    文件处理(如果文件存在则追加,不存在则生成多级文件夹以及txt目录)
  • 原文地址:https://www.cnblogs.com/seve/p/12326936.html
Copyright © 2011-2022 走看看