zoukankan      html  css  js  c++  java
  • [Docker]Dockerfile指令

    COPY

    COPY <源路径> <目标路径>

    ADD

    ADD <源路径> <目标路径> 同COPY带解压缩功能,不推荐使用

    CMD

    • 启动脚本 只允许使用一次 CMD ./startup.sh

    • 只允许使用一次,多个CMD只执行最后一条
      CMD ./startup.sh
      CMD systemctl start mysql

    ENTRYPOINT

    <ENTRYPOINT> "<CMD>"

    • 只允许使用一次
      CMD ./startup.sh
      ENTRYPOINT serviceup.sh

    systemctl start mysql
    systemctl start redis

    ENV

    ENV <key> <value>

    ENV MYSQL_VERSION 5.7.22

    EXPOSE

    端口暴露

    FROM tomcat
    MySQL 3306

    EXPOSE 8080 3306

    WORKDIR

    像cd

    FROM tomcat
    # 执行删除命令
    RUN rm -rf /usr/local/tomcat/webapps/ROOT/*
    # 复制到指定目录
    COPY myshop.tar.gz /usr/local/tomcat/webapps/ROOT/
    # 指定工作目录
    WORKDIR /usr/local/tomcat/webapps/ROOT/
    # 解压并删除
    RUN tar -zxvf myshop.tar.gz 
        && rm -rf myshop.tar.gz
    # 暴露端口
    EXPOSE 8080
    

    创建容器镜像

    [root@Proxy myshop]# docker build -t myshop .
    Sending build context to Docker daemon  3.072kB
    Step 1/6 : FROM tomcat
     ---> 31a47677561a
    Step 2/6 : RUN rm -rf /usr/local/tomcat/webapps/ROOT/*
     ---> Running in 9e79795e9561
    Removing intermediate container 9e79795e9561
     ---> 8f8e7a6f0311
    Step 3/6 : COPY myshop.tar.gz /usr/local/tomcat/webapps/ROOT/
     ---> 698409b80c1c
    Step 4/6 : WORKDIR /usr/local/tomcat/webapps/ROOT/
     ---> Running in cdd76a252311
    Removing intermediate container cdd76a252311
     ---> 36de8e85e9f7
    Step 5/6 : RUN tar -zxvf myshop.tar.gz     && rm -rf myshop.tar.gz
     ---> Running in f938c18130e7
    index.jsp
    Removing intermediate container f938c18130e7
     ---> 32412a868e90
    Step 6/6 : EXPOSE 8080
     ---> Running in b15b8be8779b
    Removing intermediate container b15b8be8779b
     ---> efd695e46c39
    Successfully built efd695e46c39
    Successfully tagged myshop:latest
    

    运行容器

    [root@Proxy myshop]# docker run -p 8080:8080 --name myshop -d myshop
    4531078fec2e6991dea847bc8ff8166cefc7a0ce76c0304aff8668c6fd474312
    

    WORKDIR工作目录

    [root@Proxy myshop]# docker exec -it myshop /bin/bash
    root@4531078fec2e:/usr/local/tomcat/webapps/ROOT# 
    
  • 相关阅读:
    创建和发送事件
    (实战)为系统类添加NameValueTable属性,并且添加到相关对话框
    使用GetUniqueIndentifier为某类对象连续编码
    中秋小感
    数据库中取随机数的方法讨论
    CVS添加用户的过程和命令列表
    Mysql中获取刚插入的自增长id的三种方法归纳
    关于Action重复执行两遍的原因
    td内容空的时候,如何显示边框线
    2003下 tomcat 连mysql问题的解决
  • 原文地址:https://www.cnblogs.com/leoshi/p/12740920.html
Copyright © 2011-2022 走看看