• Docker使用Dockerfile创建Centos(tomcat+jdk)镜像


    原文链接:https://blog.csdn.net/qq_37936542/article/details/80824389

    Docker构建镜像的方法主要有两种:

        (1)使用docker commit命令;

        (2)使用docker build命令和Dockerfile文件(更为强大、灵活和常用);


    一:准备centos镜像

    docker pull centos



    二:下载jdk、tomcat安装包,上传/usr/local/soft目录下

    jdk1.8下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    tomcat8下载:https://tomcat.apache.org/download-80.cgi



    三:解压,创建Dockerfile文件

    1. tar -zxvf apache-tomcat-8.5.31.tar.gz #解压tomcat
    2. tar -zxvf jdk-8u171-linux-x64.tar.gz #解压jdk
    3. rm -rf apache-tomcat-8.5.31.tar.gz #删除安装包
    4. rm -rf jdk-8u171-linux-x64.tar.gz #删除安装包
    5. touch Dockerfile #创建文件

    操作完成之后,soft目录内容如下:



    四:编写Dockerfile文件

    1. #指定操作的镜像
    2. FROM centos
    3. # 维护者信息
    4. MAINTAINER biubiu
    5. #执行命令:创建目录
    6. RUN mkdir -p /usr/local/soft
    7. #将jdk1.8.0_171添加到镜像centos的/usr/local/soft/目录下,并命名为jdk
    8. ADD jdk1.8.0_171 /usr/local/soft/jdk
    9. #将apache-tomcat-8.5.31添加到镜像centos的/usr/local/soft/目录下,并命名为tomcat
    10. ADD apache-tomcat-8.5.31 /usr/local/soft/tomcat
    11. #添加环境变量
    12. ENV JAVA_HOME /usr/local/soft/jdk
    13. ENV CATALINA_HOME /usr/local/soft/tomcat
    14. ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
    15. #暴露8080端口
    16. EXPOSE 8080
    17. #启动时运行tomcat
    18. CMD ["/usr/local/soft/tomcat/bin/catalina.sh","run"]

    FROM : 指定基础镜像,并且必须是第一条指令

    MAINTAINER : 指定作者

    RUN : 运行指定的命令

    ADD : 复制命令,把文件复制到镜像中。

    ENV : 设置环境变量

    EXPOSE : 功能为暴漏容器运行时的监听端口给外部

    CMD : 指定容器启动时运行的命令


    五:构建Docker镜像

    docker build -t repostory/centos_tomcat .
    

    -t 设置tag名称, 命名规则registry/image:tag(若不添加版本号,默认latest)
    . 表示使用当前目录下的Dockerfile文件(注意语句后面有一个点)


    六:启动镜像,访问

    docker run -d -p 8080:8080 --name Icentos repostory/centos_tomcat

    -d 后台运行     

    -p 端口映射  宿主机port : 容器port

    --name 指定容器运行名称

    关注「编程微刊」公众号 ,在微信后台回复「领取资源」,获取IT资源300G干货大全。公众号回复“1”,拉你进程序员技术讨论群
  • 相关阅读:
    gdb高级技巧
    Fira Code字体安装与配置
    回归
    【Luogu】P2292 [HNOI2004]L语言 题解
    浅谈Linux桌面(发行版及桌面环境)
    剑指offer-和为S的连续正数序列-知识迁移能力-python
    剑指offer-数组中只出现一次的数字-数组-python
    剑指offer-数字在排序数组中出现的次数-数组-python
    剑指offer-数组中的逆序对-数组-python
    剑指offer-丑数-穷举-python
  • 原文地址:https://www.cnblogs.com/ting6/p/9725440.html
Copyright © 2020-2023  润新知