Docker 安装
在 Mac OS X 系统中,首先你要下载安装包安装:Docker Toolbox
安装过程中,可以选择是否安装 Docker Machine,Docker Compose 等,默认还是全部都安装上的比较方便。
安装好了,相关的东西就都有了。
然后你可以在命令行中跑一个 docker run hello-world
试试。留意下输出的内容。
如果是其他系统,参考官网文档:https://docs.docker.com/engine/installation/ ,安装过程不算特别复杂,Linux 系统留意一下内核版本是否满足 Docker 的要求。
Docker 的使用
当你执行 docker run hello-world
时,Docker 会做这些事情:
- 检查是否有 hello-world 这个镜像
- 没有的话从 Docker Hub 下载这个镜像
- 把镜像加载到容器中并且运行
我们还可以再跑一下官方提供的简单例子:docker run docker/whalesay cowsay boo-boo
。
Docker 命令
Docker 提供了很多命令来管理镜像和容器,我们可以使用 --help
来查看帮助详情,这里提及几个常用的。
docker images
查看本地有哪些镜像可以使用的。docker rmi <image name>
可以用来删除某个特定的镜像。docker ps -a
可以用来查看所有的容器,包括运行中的和已经停止的。docker restart/start/stop <container name>
启动或者停止某个容器。docker logs
查看一个容器的日志。
值得注意的是,docker run 是运行一个镜像,所以每一次跑都会创建一个新的容器,如果你并不是需要多个容器的话,使用
docker start/restart/stop/kill
来管理。
run 和 exec
如果我们需要一个 node 镜像,可以使用 docker run node
来运行,如果本地没有该镜像,会下载安装。
下载安装之后,我们可以使用 docker run -a stdin -a stdout -i -t node node
来进入运行中的 node 容器的 node REPL 环境。
docker run
命令可以携带很多参数来帮助你处理更多的需求,可以使用 docker <command> --help
来获取某个特定命令的相关帮助,例如 docker run --help
。
我们也可以使用 docker exec --help
来看一下 exec
命令的相关描述,run
用于运行某一个镜像,但是当你需要进入某个运行中的容器去执行某一些命令时,你需要使用 exec
,例如,在 ubuntu 容器中输出 $PATH
变量:
docker exec -it ubuntu echo $PATH
你也可以使用 exec
来进入到某个容器中的 bash 来管理容器内容:
docker exec -it ubuntu bash
更多相关内容可以参考官方文档: