小知识:两种方式创建docker镜像的启动容器时区别介绍(总结篇)

Docker是建立在Linux内核基础上的,在目前的主流Linux系统中,都已经原生支持了Docker且使用体验也最好,当然,在Windows平台和MacOS系统中也支持Docker,只是需要使用类似Boot2Docker等虚拟化工具来提供Linux支持。

下面重点给大家介绍基于两种创建docker镜像的启动容器时区别,感兴趣的朋友可以跟着小编一起学习!

1.凡是用docker commit生成的镜像启动的时候可以加载一个启动自己应用的脚本,例如:

?
1
docker run -d -P tomcat7.0b:jdk1.6 /run.sh

最后的/run.sh就是启动tomcat应用,表示启动该容器时顺便启动tomcat应用。否则只是启动了容器,并没有启动自己的应用。

run.sh内容如下:

?
1
2
3
#!/bin/bash
/usr/sbin/sshd -D &
exec ${CATALINA_HOME}/bin/catalina.sh run

而且注意,就是现在这个容器是基于Docfile文件生成的镜像实例化,如果你进行操作之后,然后使用docker commit来基于这个容器生成新镜像,那么基于新镜像生成的容器,还是一样要加载一个启动自己应用的脚步。

2.用Docfile文件生成的镜像时,来启动容器就不用再加这个脚本了

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FROM sshd3:ubuntu
MAINTAINER waitfish from dockerpool.com(978145009@qq.com)
ENV DEBIAN_FRONTEND noninteractive
RUN echo “Asia/Shanghai” > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
RUN apt-get install -yq –no-install-recommends wget pwgen ca-certificates && apt-get clean && rm -rf /var/lib/apt/lists/*
ENV CATALINA_HOME /tomcat
ENV JAVA_HOME /jdk
ADD apache-tomcat-7.0.69 /tomcat
ADD jdk1.6.0_45 /jdk
#ADD create_tomcat_admin_user.sh /create_tomcat_admin_user.sh
ADD run.sh /run.sh
RUN chmod +x /*.sh
RUN chmod +x /tomcat/bin/*.sh
EXPOSE 8080
CMD [“/run.sh”]

因为最后一句CMD就是表示启动容器时,调用这个脚本。

以上所述是小编给大家介绍的两种创建docker镜像的启动容器时区别总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:docker-compose 详解及示例代码

2023-4-22 11:45:41

建站知识

小知识:怎样获取docker动态分配的port

2023-4-22 12:00:14

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索