名词解释
- 镜像:想让docker运行软件必须先有镜像,Docker将应用程序和其依赖、环境、配置等等文件打包一起,称为镜像。
- 容器:
- 基于镜像,运行起来就是容器,运行软件,做隔离。
- 一个镜像可以运行多个容器。
- 镜像中心:通过镜像中心下载镜像来使用。一般来说不需要自己做镜像,可以下载镜像
-
docker的作用?为什么会有docker?
更简单的系统运维
- 在容器化之后,我们的开发,测试环境都是高度一致
- 更便捷的升级和扩缩容
- 使用了Docker之后,我们部署就像搭积木一样
- 项目打包为一个镜像
- 应用更快速的交付和部署
- 传统:一堆帮助文档,安装程序
- Docker:打包镜像发布测试,一键运行
- 更高效的计算机资源利用
- ker是内核级别的虚拟机化,可以在一个物理机行运行很多的容器实例,服务器的性能可以达到极致
Docker和传统虚拟机的不同?
- 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
- 容器内的应用直接运行在宿主机内容,容器是没有自己内核的也没用虚拟我们的硬件,所有就轻便了
- 每个容器间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响
Docker的常用命令
容器
docker exec
进入容器执行命令docker logs
查看运行日志docker ps
查看所有运行的容器和状态docker rm
删除制定容器docker run
运行容器docker pause
暂停运行docker unpause
继续docker start
开始docker stop
停止docker save -o [保存的目标文件名称] [镜像名称]
保存镜像docker save -o nginx.tar nginx:latest
导出镜像docker load
加载镜像docker rm
docker ps -a -qdocker rmi
docker images -q`` 删除全部镜像docker exec -it mn bash
进入容器exit
退出容器数据卷
什么时候数据卷可以挂载?
- 当创建容器时可以挂载,其他情况不允许
两种挂载方式?
- 数据卷挂载 (被docker管理)
- 目录挂载 (没有被docker管理)
如何数据卷挂载?
docker run --name mn -p 80:80 -d -v html:/usr/share/nginx/html nginx
- 如果数据卷不存在,会自己创建
- 查看数据卷的详细信息
docker volume inspect html
`docker volume prune
删除所有未使用的数据卷