1. 概念
对于开发人员和系统管理员来说, Docker 是一个使用容器开发, 部署和运行应用程序的平台. 使用 Linux 容器部署应用程序称为容器化. 容器并不新鲜, 但是将它们用于轻松部署应用程序却很新鲜.
容器化越来越受欢迎, 是因为容器有以下特点:
灵活性: 即使是最复杂的应用程序也可以被容器化
轻量级: 容器利用并共享主机内核
可互换的: 你可以实时部署更新和升级
可移植性: 你可以在本地构建, 部署到云, 并在任何地方运行
可伸缩: 你可以增加并自动分发容器副本
可叠加: 你可以垂直地, 动态地叠加服务
2. 镜像与容器
image(译: 镜像)
一个镜像是一个可执行包, 它包含运行应用程序所需的所有内容, 包括代码, 运行时环境, 库, 环境变量, 配置文件. 通过运行镜像类启动一个容器.
container(译: 集装箱; 容器)
容器是镜像的运行时实例. 你可以使用 docker ps 命令看到正在运行的容器列表, 就像在 Linux 中一样.
(PS: 镜像与容器的关系, 就好比是类与对象的关系一样. 镜像是静态的, 当镜像运行的时候它就是一个容器)
3. 容器与虚拟机
容器在 Linux 本地运行, 并与其他容器共享主机的内核. 它以独立的进程运行, 不占用比任何其他可执行程序更多的内存, 使其轻量级. 相反, 虚拟机 (VM) 运行一个成熟的 "客户" 操作系统, 通过管理程序对主机资源进行虚拟访问. 一般来说, VMs 提供的环境比大多数应用程序所需的资源要多.
4. 安装 Docker
就像我们要使用 MySQL 命令之前必须先安装 MySQL 服务一样. Docker 作为服务运行, 我们也必须先安装它, 这里我们安装 Mac 版.
https://hub.docker.com/search/?type=edition&offering=community
Docker 有社区版和企业版, 由于笔者的机器限制, 此处只能选择安装 "Docker Desktop for Mac"
https://hub.docker.com/editions/community/docker-ce-desktop-mac
注册账号, 安装, 安装成功并登录后就可以使用了
接下来, 测试一下刚才安装的 Docker
- docker version
- docker run hello-world
- docker image ls
- docker container ls --all
- docker container --help
- localhost:~ chengjiansheng$ docker image ls
- REPOSITORY TAG IMAGE ID CREATED SIZE
- hello-world latest fce289e99eb9 3 months ago 1.84kB
- localhost:~ chengjiansheng$ docker container ls --all
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- a9c306fa88b2 hello-world "/hello" 19 minutes ago Exited (0) 19 minutes ago elegant_heisenberg
5. 备忘单
6. 文档
https://docs.docker.com/get-started/
来源: https://www.cnblogs.com/cjsblog/p/10764105.html