zoukankan      html  css  js  c++  java
  • Dockerfile指令及docker的常用命令

    Dockerfile
    FROM:

    FROM <image>  
    FROM <image>:<tag>

    MAINTAINER:

    MAINTAINER <name>

    RUN

    RUN apt-get update
    RUN mkdir /some_dir/

    CMD:(设置docker run时启动的命令)

    #ENTRYPOINT和CMD都是启动命令,
    #如果只有一个那就执行那个。
    #如果两个都有并且都是完整的命令,执行最后一个
    #如果有ENTRYPOINT,CMD是参数,那么CMD就是ENTRYPOINT默认的参数
    CMD ["executable","param1","param2"] (like an exec, this is the preferred form)  
    CMD command param1 param2 (as a shell)  
    CMD ["param1","param2"] (as default parameters to ENTRYPOINT)

    ENTRYPOINT:(设置容器启动时的命令)

    ENTRYPOINT ["executable", "param1", "param2"] (like an exec, the preferred form)  
    ENTRYPOINT command param1 param2 (as a shell) 

    USER:(指定容器的用户)

    USER root      #默认就是root用户

    EXPOSE:(容器的端口)

    EXPOSE <port1> [<port2>.....]

    ENV:(环境变量)

    #设置了ENV后,后续的RUN命令都可以用
    ENV <key> <value>
    ENV JAVA_HOME /path/to/java/

    ADD

    #src必须在当前Dockerfile目录,不支持绝对目录,向ADD一个绝对目录的文件需要提前复制文件到当前目录
    ADD <src> <dest>
    ADD a_dir/ /usr/a_dir/

    VOLUME:(很麻烦的一个东西也很重要)

    WORKDIR:(设置容器内的工作目录)

    #在/usr/local下创建src目录
    WORKDIR /usr WORKDIR /local mkdir src/

    ONBUILD:(在子镜像中执行)

    docker的常用命令:

    docker build -t <image> <Dockerfile_dir>
    docker build -t ubuntu:16.04 .

    docke run -it --name <name> <image_name>
    docker run -it --name test -p 5000:5000 ubuntu:16.04 /bin/bash

    docker logs -f <容器名orID>

    docker ps
    docker ps -a
    docker rm $(docker ps -a -q)      #删除所有容器
    docker images
    docker rmi <image_name>
    docker rmi $(docker images | grep none | awk '{print $3}' | sort -r)

    docker stop <container>
    docker start <container>
    docker kill <container>
    docker attach <container>
    docker inspect <container>
    docker exet -it <conatainer> /bin/bash #进入容器并给个终端
    docker cp <container>:/path/file .    #将容器内东西拷出来

    #A的容器保存复制到B启动
      #A
    docker save <container> > ./save.tar
    scp save.tar <user>@<ip>:<path>
      #B
    docker load save.tar
    ctrl + p + ctrl + q  静默退出
  • 相关阅读:
    本地化中文示例代码需求调查
    微软一站式示例代码库下载过热导致下载计数器溢出bug
    中文版示例代码浏览器for Windows 8
    Tips of the Week for Microsoft Products
    [leetcode] Longest Substring Without Repeating Characters
    [leetcode] Add Two Numbers *
    树的直径 图的直径
    解题笔记(2)——部分面试题解题思路 [转]
    两个容积互质的水杯可倒出任意从1到容积和的水量
    latex中括号大小控制 [转]
  • 原文地址:https://www.cnblogs.com/badboyf/p/6437857.html
Copyright © 2011-2022 走看看