欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-07-20 22:57:46
docker是建立在linux内核基础上的,在目前的主流linux系统中,都已经原生支持了docker且使用体验也最好,当然,在windows平台和macos系统中也支持d...

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

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

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

docker run -d -p tomcat7.0b:jdk1.6 /run.sh

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

run.sh内容如下:

#!/bin/bash
/usr/sbin/sshd -d &
exec ${catalina_home}/bin/catalina.sh run

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

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

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镜像的启动容器时区别总结,希望对大家有所帮助