docker初理解:
docker三大特征:
镜像 容器 仓库
镜像就是模板 容器就是这个镜像的一个实例
docker也叫容器虚拟化技术
docker --help 查看帮助 里面有docker的所有命令说明。
docker run【options】中 一些options的说明:
docker ps 【options】的参数
rmi 有i叫 删除镜像
rm 没有i 叫删除容器
docker 常用命令 翻译:
解释tomcat为什么这么大的原因:
因为镜像的文件分层,所以在docker上的centos运行一个精简版的tomcat时,需要先加载运行tomcat所需要的那些文件,需要在内核上包一层centos ,在centos上需要有jdk运行环境吧,在jdk上才能跑我们需要的tomcat 所以就这样一层包一层,才导致pull一个tomcat镜像 这么大。
为什么docker采用这种分层结构?
在docker上启动tomcat:
commit示例:
关于-d 后台启动tomcat 补充:
容器和宿主机之间共享数据:
容器停止退出后 主机修改数据 容器也同步:
DockerFile:
dockerfile就是镜像这个模板的描述文件。
补充:
继承之后 容器会达到 数据共享和继承的目的 (父到子 子到父 都可以互相传递)
dockerFile简略使用步骤:
dockerFile 的保留字指令:
add会帮你解压 copy不会。 别的功能都一样。
CMD会被 docker run 人工执行的时候 后面加的参数覆盖 就比如 bin/bash dickerfile文件最后一行就是CMD 【bin/bash】 如果docker run 的时候在最后写了bin/bash 那dockerfile中的就不会再执行 会执行我们手动加的 如果没写 它就执行。而entrypoint则是会追加执行。
用DockerFile创建一个简单的基于centos的镜像:
1.先编写dockerfile
2.用命令docker build -f /mydocker/DockerFile2 -t mycentos:1.3 .
用dockerfile做一个简单的带查ip功能的镜像
注意:这里用的是ENTRYPOINT 是追加功能
自定义一个tomcat9 dockerfile:
创建mysql容器:
创建redis容器: