大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章给大家分享的是有关docker镜像和容器的关系是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
专注于为中小企业提供网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业崇礼免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。docker 镜像和容器的关系是什么?容器是镜像的实例,先描述镜像,再创建容器,所以容器可以有多个。镜像是一个只读的文件系统,在本地会共用,主要是通过签名来实现的,类似于存储里面的De-dup技术。
每运行一个容器,会在镜像上加一个可写层,但这一层并不会改变镜像本身,这也就是为什么有时候你用同一个镜像启动多个容器,里面的内容是不会变的。如果你要将可写层持久化,就要通过 commit命令来把这个可写层写到磁盘上,即生成新的镜像。
总的来说,镜像是文件, 容器是进程。容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件,这里的文件包括进程运行所需要的可执行文件、依赖软件、库文件、配置文件等等。
假设,你需要把nginx(web服务器)运行在docker容器中, 则第一步要下载nginx镜像:
sudo docker pull nginx
下载nginx镜像之后可以查看Docker镜像:
sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 0d409d33b27e 2 weeks ago 182.7 MB
事实上, nginx镜像并非一个单独的文件,而是具有层级结构:
sudo docker history nginx IMAGE CREATED CREATED BY SIZE COMMENT 0d409d33b27e 2 weeks ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon o 0 B2 weeks ago /bin/sh -c #(nop) EXPOSE 443/tcp 80/tcp 0 B 2 weeks ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx/ 0 B 2 weeks ago /bin/sh -c apt-key adv --keyserver hkp://pgp. 57.67 MB 2 weeks ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.11.1-1~ 0 B 3 weeks ago /bin/sh -c #(nop) MAINTAINER NGINX Docker Mai 0 B 3 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B 3 weeks ago /bin/sh -c #(nop) ADD file:5d8521419ad6cfb695 125.1 MB
可知, nginix镜像一共有8层, 其中, 第1层为125.1MB, 第5层为57.67MB, 其他层的大小可以忽略。
将nginx运行在Docker容器中:
sudo docker run -itd \ -p 80:80 \ --name=nginx \ nginx
查看nginx容器
sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 263e88fc53d3 nginx "nginx -g 'daemon off" 3 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp, 443/tcp nginx
可知, nginx容器运行成功。
以上就是docker镜像和容器的关系是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联成都网站设计公司行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。