zoukankan      html  css  js  c++  java
  • 016、Dockerfile 常用命令(2019-01-07 周一)

     
    Dokcerfile常见命令
     
    FROM
        指定base镜像
     
    MAINTAINER
        标记镜像的作者,可以是任意字符串
     
    COPY
        将文件从 build context 复制到镜像
        
        COPY支持两种形式:
            1、 COPY src dest
            2、 COPY ["src","dest"]
            ps: src 只能指定 build context 中的文件或者目录
     
    ADD
        与COPY类似,从 build context 复制文件到镜像
        不同的是如果src是归档文件(tar、zip、tgz、xz等),文件会被自动解压到dest
     
    ENV
        设置环境变量,环境变量可以被后面的指定使用
     
    EXPOSE
        指定容器中的进程会监听哪个端口,Docker 可以将该端口暴露出来
     
    VOLUME
        将文件或者目录声明为VOLUME
     
    WORKDIR
        为后面的 RUN、CMD、ENTRYPOINT、ADD和COPY指令设置镜像中的当前工作目录
     
    RUN
        在容器中运行指定的命令
     
    CMD
        容器启动时运行指定的命令
        Dockerfile 中可以有多个CMD指令,但是只有最后一个生效。CMD可以被docker run之后的参数替换
     
    ENTYRPOINT
        设置容器启动时运行的命令
        Dockerfile中可以有多个ENTYRPOINT指令,但只有最后一个生效。CMD或docker run后的参数会被当做参数传递给ENTRYPOINT
     
     
     
    root@docker-lab:~/016# ls -l    #    查看build context内容
    total 12
    -rw-r--r-- 1 root root 216 Jan  7 14:19 Dockerfile
    -rw-r--r-- 1 root root 157 Jan  7 14:21 test_add_file.tar.gz
    -rw-r--r-- 1 root root  51 Jan  7 14:20 test_copy_file
     
    root@docker-lab:~/016# cat Dockerfile          #    查看Dokcerfile内容
    # This is my first image                       #    注释部分
    FROM    busybox                                #    以busybox镜像为基础进行构建
    MAINTAINER    https://www.cnblogs.com/www1707  #    作者信息
    WORKDIR    /testdir                            #    设置镜像中的当前目录
    RUN    touch testfile                          #    创建一个空文件
    COPY    test_copy_file .                       #    从build context拷贝一个文件到镜像中
    ADD    test_add_file.tar.gz .                  #    将 tar.gz 文件解压到镜像中
    ENV    WELCOME "You are in my container , welcome !"    #    在镜像中添加一个WELCOME的变量
     
    root@docker-lab:~/016# tar -tvf test_add_file.tar.gz
    -rw-r--r-- root/root         0 2019-01-07 14:20 tar_gz_a
    -rw-r--r-- root/root         0 2019-01-07 14:20 tar_gz_b
    -rw-r--r-- root/root         0 2019-01-07 14:20 tar_gz_c
    -rw-r--r-- root/root         0 2019-01-07 14:20 tar_gz_d
     
    root@docker-lab:~/016# cat test_copy_file
    -----------------
    test_copy_file
    -----------------
     
    root@docker-lab:~/016# docker build -t myimage .
    Sending build context to Docker daemon  4.096kB
    Step 1/7 : FROM    busybox
    latest: Pulling from library/busybox
    57c14dd66db0: Pull complete
    Digest: sha256:b6e640a3768c460ad6066a003b6da52034c31aaf8500f9263057ddffcd830ef6
    Status: Downloaded newer image for busybox:latest
    ---> 3a093384ac30
    Step 2/7 : MAINTAINER    https://www.cnblogs.com/www1707
    ---> Running in d8b4503fd90d
    Removing intermediate container d8b4503fd90d
    ---> 3de3f5987213
    Step 3/7 : WORKDIR    /testdir
    Removing intermediate container 1ffe55213785
    ---> acbe13b30785
    Step 4/7 : RUN    touch testfile
    ---> Running in 97513a85bf15
    Removing intermediate container 97513a85bf15
    ---> 3299ecfc7cd6
    Step 5/7 : COPY    test_copy_file .
    ---> fb808779db38
    Step 6/7 : ADD    test_add_file.tar.gz .
    ---> b6a1f8da1796
    Step 7/7 : ENV    WELCOME "You are in my container , welcome !"
    ---> Running in b672d00ec977
    Removing intermediate container b672d00ec977
    ---> c67728621bdd
    Successfully built c67728621bdd
    Successfully tagged myimage:latest
     
    root@docker-lab:~/016# docker run -it myimage
    /testdir # echo $WELCOME    #    验证ENV变量是否设置成功
    You are in my container , welcome !
    /testdir # ls    #    验证RUN、COPY、ADD是否成功
    tar_gz_a        tar_gz_b        tar_gz_c        tar_gz_d        test_copy_file  testfile
    /testdir # pwd    #    验证WORKDIR是否成功
    /testdir
    /testdir # cat test_copy_file    #    验证COPY是否成功
    -----------------
    test_copy_file
    -----------------
     
     
     
  • 相关阅读:
    React-Hooks
    RC-Select 学习笔记
    React Strict Mode
    CSSMotion VS animation in Angular
    jquery中has方法
    jquery中对于extend方法的使用
    一篇对于在jquery中使用jsonp技术介绍
    对于table元素的总结
    css3布局相关样式
    移动端去掉按钮点击热区
  • 原文地址:https://www.cnblogs.com/www1707/p/10233325.html
Copyright © 2011-2022 走看看