初识Docker
安装Docker
具体安装方法请参照官网 GetDocker
Mac版的安装和其他应用程序一样简单,傻瓜式操作,这里就不重复介绍了。
运行第一个Docker容器
当然运行第一个容器之前需要先查找对应的镜像,那么就涉及到docker的第一个命令:
查找镜像
docker search <the image name>
例如 我要查找centos的镜像:docker search centos
这里docker会返回所有和centos相关的镜像(包括官方河非官方的)
我们这里的目的其实是基于官方的镜像做些展示,所以选择官方的镜像就好。
说到这里其实就涉及到第二个常见的docker命令了:
拉取镜像
docker pull <image name>:<tag>
例如 我要pull centos 7这个版本的镜像:docker pull centos:7
需要说明的是这个命令中tag是可选参数,如果命令中未填写,那么docker会从目标容器镜像中下载latest这个特殊(最新)版的镜像。
这里推荐在pull命令中显式制定版本,方便后面的环境维护和管理。
Ok,等待下载完成。当然这个过程在墙内的世界会很慢,还好有镜像加速的服务,提供镜像服务的厂商目前有不少例如阿里云,daocloud
本人选择的是阿里云,按照厂商要求配置,重新pull,哇~速度飞起。
镜像也pull下来了,那么就到关键的一步了:
运行镜像
docker run -i -t <image name> /bin/bash
下面来解释下这个命令的几个参数到底是做什么的:
- 首先是 -i 保证的是容器中的STDIN是开启的
- 其次 -t 告诉Docker为要创建的容器分配一个伪tty终端
这样两个参数是保证创建的容器是一个可交互的容器,而不是一个运行后台服务的容器。
好了,现在就是你熟悉的部分了,一个运行着centos的linux环境。
处理完事情,敲入exit,结束会话,回到了docker宿主机的命令行模式,一切自然。等等……总觉着有什么不对,对了,那个容器怎样了?
其实容器依然存在,那么怎么查看这些容器呢?
查看容器
docker ps
这个命令会列出所有正在运行的容器,如果想查看所有需要加上参数 -a
这里需要注意的是这两列信息:
- CONTAINER ID
- Names
那么我们还想回到容器内部操作怎么办?
附着到容器
docker attach <containerID / Names>
参数中 CONTAINER ID 和 Names 任意一个都可以。
日常操作中不可避免的都会涉及到这两个查询操作:
- 查询容器日志
- 查询容器中的进程
查询容器日志
docker logs -f <container name>
如果想在log中打印出log时间只需要添加参数 -tdocker logs -ft <container name>
查询容器中的进程
docker top
日常对容器的操作除了查询些这外,还有些管理容器的命令如:
停止容器
docker kill <container name>
或者docker stop <container name>
重启容器
docker start <container name>
删除容器
docker rm <container name>
在容器内执行bash命令
docker exec -it <container name> /bin/bash
以上介绍的是docker常见的一些操作和命令,其中守护式容器的操作在本篇并未涉及,这部分内容将在之后的文章中介绍。