zoukankan      html  css  js  c++  java
  • docker Dockerfile

    生成镜像

    docker build . -t my-nginx

    docker images

    REPOSITORY               TAG            IMAGE ID      CREATED         SIZE
    localhost/my-nginx       maintainer     712befd1ad83  13 minutes ago  24.7 MB
    docker.io/library/nginx  stable-alpine  373f8d4d4c60  3 weeks ago     24.7 MB
    

    Dockerfile

    FROM nginx:stable-alpine
    MAINTAINER my-name   # 指定作者信息
    #运行docker inspect my-nginx,可以看到author是my-name
    
    USER root # 指定运行容器的宿主机进程用户
    
    WORKDIR /etc/nginx  # 启动容器后,容器内部的工作目录
    #运行docker inspect my-nginx | grep Work,可以看到WorkingDir
    
    # ADD/COPY 都可以将宿主机的文件上传到镜像中
    # ADD支持将压缩包解压后上传到镜像中
    ADD test.txt /etc/nginx/
    ADD myweb.tar.gz /usr/share/nginx/html
    
    # COPY不支持压缩包解压上传(没有解压操作)
    COPY test.txt /etc/nginx/
    COPY myweb.tar.gz /usr/share/nginx/html
    # 需要将myweb.tar.gz先解压到myweb目录,再copy
    COPY myweb /usr/share/nginx/html
    
    # EXPOSE 端口映射
    COPY 8080.conf /etc/nginx/conf.d/
    COPY index.html /usr/share/nginx/
    EXPOSE 8080
    
    # ENV 在容器中定义环境变量
    ENV test=my-test-name
    

    RUN 在镜像生成过程中需要执行的命令

    FROM centos:7.6.1810
    RUN yum install -y vim 
    # 在此容器启动以后,会发现vim已经安装了(centos自己不带vim)。
    

    CMD 在容器启动时执行的命令,如果启动容器时指定了执行命令,那么CMD命令就失效

    FROM centos:7.6.1810
    CMD echo "ok"
    
    # 通过 docker build . -t centos:cmd 生成镜像
    docker run --rm centos:cmd   --> ok
    docker run --rm centos:cmd echo "ok2"  --> ok2
    

    ENTRYPOINT 容器启动时执行的脚本,但不会被启动容器时指定的命令覆盖,只会将制定的命令当作参数传递给ENTRYPOINT

    --------------------------- 知道的更多,不知道的也更多 ---------------------------
  • 相关阅读:
    我的公众号 猫和大叔(maohedashu)
    centos编译php时出现make: *** [sapi/fpm/phpfpm] Error 1
    如何在centos和linux等主机上安装 pstree
    如何在centos下卸载干净nginx
    监控感悟(一)
    ant design vue 获取上传图片的像素
    ant vue中atree默认展开指定的树节点不起作用
    uniapp中组件属性设置不生效的解决方案
    vue+canvas实现简易画板
    ant design vue级联选择懒加载省市区三级数据
  • 原文地址:https://www.cnblogs.com/mryux/p/15663179.html
Copyright © 2011-2022 走看看