这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战
初识Docker
Docker 的整个生命周期由三部分组成:镜像(image)+ 容器(container)+ 仓库(repository)。
容器是由镜像实例化而来,这有点像面向对象的概念:镜像就是类,容器是类实例化之后的对象。
镜像是一个只读的模板,它包括了运行容器所需的数据。镜像可以包含一个完整的 Linux 操作环境,里面仅安装了 Python 或者其他用户需要的程序。
容器是由镜像创建出来的实例,类似虚拟机,里面可以运行特定的应用,并且容器与容器是相互隔离的。
仓库概念与 Git 和 Github 类似,如果你用过它们就非常容易理解。Docker 使用的默认仓库是由官方维护的 Docker hub 公共仓库,从中上传、拉取的操作类似 Git。
1.什么是docker
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
2.Docker的应用场景
● Web 应用的自动化打包和发布。
● 自动化测试和持续集成、发布。
● 在服务型环境中部署和调整数据库或其他的后台应用。
● 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
3.docker和虚拟机的区别
手动下载安装
如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application 文件夹即可。
从应用中找到 Docker 图标并点击运行。可能会询问 macOS 的登陆密码,输入即可。
点击顶部状态栏中的鲸鱼图标会弹出操作菜单。
在命令行输入docker --version,显示docker版本说明安装成功。
常见的命令
查看本地镜像 docker images
删除本地镜像 docker rmi [IMAGE ID]
删除镜像时遇到报错 Error response from daemon: conflict: unable to delete 235592615444 (must be forced) - image is referenced in multiple repositories
因为IMAGE ID重复,docker 无法识别是哪个镜像,需要使用 REPOSITORY+TAG作为唯一标识去删除。
查找镜像 docker search [IMAGE NAME]
查找镜像的版本号
搜索镜像
搜索完成如下:点击进入详情
点击标签,查看版本
获取特点版本镜像 docker pull redis:6.0.5
获取默认版本的镜像(默认是latest版本)