Docker及常见命令

176 阅读3分钟

这是我参与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]

查找镜像的版本号

地址:hub.docker.com/

搜索镜像

搜索完成如下:点击进入详情 点击标签,查看版本 获取特点版本镜像 docker pull redis:6.0.5 获取默认版本的镜像(默认是latest版本)

显示运行中的容器 docker ps

显示所有的容器(运行中和已停止) docker ps -a

启动一个停止中的容器 docker start [CONTAINER ID]

停止一个运行中的容器 docker stop [CONTAINER ID]

删除一个或多个镜像 docker rm [CONTAINER ID] (只能删除停止的容器,运行中的容器无法删除)