1.镜像和容器的区别
镜像是从阿里云或者dockerhub上pull下来的,容器是在镜像上添加层级。这些层级可以是对tomcat中配置文件的修改,或者添加war包项目到tomcat中。
2.docker对比虚拟机,docker的容器和宿主机共享硬件,而虚拟机是需要分配硬件的,浪费比较严重。
3.容器与宿主机的挂载类似双向绑定,两者的修改都会对挂载内容产生影响,主要用处是删除容器后重要的数据还能保存在宿主机内。
4.DockerFile中CMD和ENTRYPOINT区别:
FROM # 基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER # 镜像维护者的姓名混合邮箱地址
RUN # 容器构建时需要运行的命令
EXPOSE # 当前容器对外保留出的端口
WORKDIR # 指定在创建容器后,终端默认登录的进来工作目录,一个落脚点
ENV # 用来在构建镜像过程中设置环境变量
ADD # 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY # 类似ADD,拷贝文件和目录到镜像中!
VOLUME # 容器数据卷,用于数据保存和持久化工作
CMD # 指定一个容器启动时要运行的命令,dockerFile中可以有多个CMD指令,但只有最 后一个生效!
ENTRYPOINT # 指定一个容器启动时要运行的命令!和CMD一样 ONBUILD # 当构建一个被继承的DockerFile时运行命令,父镜像在被子镜像继承后,父镜像的 ONBUILD被触发
ENTRYPOINT,表示镜像在初始化时需要执行的命令,不可被重写覆盖,需谨记
CMD,表示镜像运行默认参数,可被重写覆盖
5.docker网络:
网络联通 docker network connect mynet(自定义网络) tomcat01(外部容器) 打通后这个tomcat01容器有两个ip地址分别存在于两个网络中,类似阿里云服务器有个公网ip有个内网ip都可以访问。