现在有一个 Nginx 服务,一个 邮箱 服务,以及一个监控服务。监控服务监控 nginx 和 邮箱服务是否正常工作。
依次执行下面这三行代码,即可马上看到我们想要的效果。
docker run --detach --name web nginx:latest
docker run -d --name mailer dockerinaction/ch2_mailer
docker run --interactive --tty --link web:web --name web_test busybox:1.29 /bin/sh
每运行一行命令,可能会返回 7cb5d2b9a7eab87f07182b5bf58936
这样一串字符,这是镜像的唯一标识。
因为第一次在本地是没有镜像 (image)的,所以在执行 run 命令的时候,会向 Docker Hub (或其他设置的仓库) 获取对应的 镜像,之后才是去生成容器实例。
--detach
(简写是 -d
)参数的意思是 分离的,即后台运行, --interactive
(简写是 -i
) 意思是进入容器的交互式环境。
--name
给容器取名,如果不存在这个参数,那么 docker 会自动生成一个随机名字。
--link
的意思是跟其他容器进行关联,允许通信,前一个 web
是之前的容器的名字, 后一个 web
是别名,即可自定义名字。
在容器里面想要退出容器,可以使用 Ctrl + P + Q
快捷键(退出容器,但不停止),也可以 使用 exit
命令(会停止容器运行)
如果退出了容器(或者之前是以 -d
模式开启的容器),又想重新进入容器,可以使用 docker exec
命令。
状态查询
想要查询容器实例的运行的进程等相关信息,可以使用 docker ps
命令。
几个关键的信息,可以展现出来,比如容器的 id , 镜像名字,执行的命令,创建时间,当前状态,开放端口,以及 容器名字。
重启容器实例
容器重启的命令是 docker restart
# 后面接容器名字,或者容器ID前几位(不能跟其他容器ID有歧义)
docker ps
docker restart agent
docker ps
docker restart f66255
docker ps
查看容器实例日志
查看容器日志的命令是 docker log
,此命令是动态展示日志,如果想要退出,则按 Ctrl + C
快捷键。
肯定还有有其他的方式,只是现在不知道而已。
docker log agent
关闭容器实例
停止容器运行的命令是 docker stop
# 同样,支持 用户名 或 容器 ID
docker stop agent
docker stop 120ac1
容器的状态转移图