zoukankan      html  css  js  c++  java
  • dockfile杂项

    工程源代码+工程的配置文件 在外面配置好

    1 工程的配置文件,是工程的一部分

    2 要贯彻内聚原则, 用1句挂载整个工程。

    在外面集中配置好在一个路径下,一起挂进去或者COPY进去。

    防止先COPY了体积小的“配置文件”,然后发现-v挂源码执行不了,于是又COPY了体积大的工程源码。

    根据docker image的覆盖机制,如果整个目录覆盖,那么本来有的,覆盖之后也没有了。

    ADD与COPY

    HOST端 

    绝对路径 ——ADD,

    相对dockerfile路径下的相对路径 ./  ——用COPY

    但COPY不能用../访问dockerfile所在路径的上级路径

    IMAGE端:

    COPY要写绝对路径,一定要检查正确

    docker-compse -v 时,两边都绝对路径。

    如果COPY总提示错误,查看一下.dockerignore 

    ENTRYPOINT与CMD

    都是启动容器后才执行的语句(创建镜像时不执行。如果想创建镜像时执行,直接用RUN)

    每种只能有1句:如果有多个CMD,只会执行最后1个。但是CMD里可以 用 && 执行多条。但其实执行多条命令,应该直接写成1个sh

    ENTRYPOINT会先执行,再执行CMD。CMD不会覆盖ENTRYPOINT

    也可以不写在dockerfile里。docker-compose.yml里 等价的语句是

    entrypoint  command  (小写)

    停止、删除全部容器

    docker stop $(docker ps -q) & docker rm $(docker ps -aq)

    删除none镜像

    docker rmi $(docker images | grep "none")

    卸载nginx

    如果docker-compose up失败,提示端口占用,可能是host上正在运行着什么,比如nginx

    卸载要这样写sudo apt-get remove nginx nginx-common

    查看运行时内存CPU占用

    docker stats $(docker ps | awk '{if(NR>1) print $NF}')
  • 相关阅读:
    Android架构详解
    wince下实现GPRS上网,程序控制拨号 .
    wince串口蓝牙
    添加蓝牙通讯功能
    c# 注册表.代码示例.(迭代遍历注册表)[Demo]
    Vim Tips
    北京大学与苏州大学学生社会来源研究(1952年2002年) (zz)
    ES6的循环和可迭代对象
    JavaScript之this
    js数组去重的方法
  • 原文地址:https://www.cnblogs.com/xuanmanstein/p/8010532.html
Copyright © 2011-2022 走看看