为什么会有Docker?
一个程序在一台设备上能运行, 在另外一台上设备可能就运行不了。
通过安装虚拟机和对应编译器等环境,我们可以在另一台设备上模拟出一个环境,也可以运行程序,但是有资源占用比较大等缺点。
另外一种虚拟化技术,叫做 Linux容器,虚拟所需要使用的各种资源,从而实现与底层的分离,相对虚拟机恶言启动快、资源更少。Docker就是Linux容器的一种封装。
Docker能干什么?
使用Docker能干什么呢?可以运行在Linux中的应用都能运行在Docker中,你可以:
- 便利地安装复杂的应用
- 创建演示环境用于展示过程
- 使用Docker镜像快速开始,减少在搭建环境上的耗费
- 更好地利用好它节省的资源
- 充当微服务的容器
- 云服务商之间进行移植
- 充当API端
开始使用Docker
Docker分为卡社区版(Community Edition,缩写为CE)和企业版(Enterpise Edition,缩写EE)。
https://docs.docker.com/docker-for-mac/install/
命令行中可以通过 docker version
来检查是否安装好。
image 文件和容器
Docker 把应用程序及其依赖,打包在 image 文件里面。
为了方便共享,image 文件制作完成后,可以上传到网上的仓库。Docker Hub 是最重要、最常用的 image 仓库。
$ docker image pull library/hello-world // 从DockerHub的默认残酷library拉取hello-world
$ docker image ls // 列举所有的image
$ docker container run hello-world // 运行一个 hello-world 容器
$ docker container ls // 列出本机正在运行的容器
$ docker container ls --all // 列出本机所有容器,包括终止运行的容器
Dockerfile
想要制作 image,势必需要用到image文件,可参考:十、实例:制作自己的 Docker 容器。
其他有用命令
参考:实例十一:其他有用命令。