您现在的位置是:首页 >技术教程 >docker从零开始(2)----应用部署/dockerfile网站首页技术教程

docker从零开始(2)----应用部署/dockerfile

back2childhood 2024-07-16 18:01:02
简介docker从零开始(2)----应用部署/dockerfile

应用部署

通信

  • 容器内的网络服务和外部机器不能直接通信
  • 外部机器和宿主机可以直接通信
  • 宿主机和机器可以直接通信
  • 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。外部机器访问宿主机的该端口,从而间接访问容器的服务。这种操作被称为端口映射

Dockerfile

docker镜像原理

  • docker镜像是由特殊的文件系统叠加而成
  • 最低端是bootfs,并使用宿主机的bootfs
  • 第二层是root文件系统rootfs,称为base image
  • 在往上可以叠加其他的镜像文件,eg:jdk、tomcat等
  • 同一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。
  • 一个镜像可以放在另一个镜像的上面,位于下面的镜像称为父镜像,最底部的镜像称为基础镜像

docker小问

1、docker镜像本质是什么?
是一个分层文件系统
2、docker中一个centos镜像为什么只有200mb,而一个centos的iso文件要几个G
centos的iso镜像文件包含bootfs和rootfs,而docker的centos镜像复用操作系统的bootfs,只有rootfs和其他镜像层
3、docker中一个tomcat镜像为什么只有500mb,而一个tomcat安装包只有70多mb?
由于docker中镜像是分层的,tomcat虽然只有70多mb,但是他需要依赖于父镜像和基础镜像,所有整个对外暴露的tomcat镜像大小500多mb

镜像制作

1、容器转为镜像

docker commit 容器id 镜像名称:版本号
docker save -o 压缩文件名称 镜像名称:版本号
docker load -i 压缩文件名称
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。