Docker学习笔记(四)

第一个docker容器

docker run 【OPTIONS】IMAGE【:TAG】【COMMAND】【ARG...】


运行docker镜像

用docker run命令运行第一个镜像,打印出了一些信息。这戏信息解释了docker运行镜像所经历的一系列操作。

下图可以更加简单的描述docker的一系列操作。


docker运行示意图

Client:执行docker命令的客户端

DOCKER_HOST:本机的docker服务

Registry:docker的远程镜像中心

docker pull首先第一步是docker daemon会检查本机颈项上是否存在,如果存在并且版本正确,就不会做任何操作,如果不存在就会去docker仓库找到我们想要拉取的镜像,如果存在就会拉取镜像到本地。

docker run的第一步是把命令发到本机的docker daemon,docker daemon会检查镜像在本机是否存在,如果不存在会先执行docker pull命令把镜像拉到本机,然后在运行镜像。

二、docker运行Nginx


拉取nginx

首先第一步,先从网易镜像中心找到nginx的官方镜像,然后拉取镜像。

第二步,运行nginx。


运行nginx

用docker run命令运行nginx之后会看到光标闪动,然后打开一个新的bash窗口,输入 docker ps命令可以看到正在运行的docker镜像如下


查看运行的docker镜像

从图中可以看到docker镜像运行的一系列信息。但是这样启动nginx是在前台启动nginx,只要control+c就能把服务停止了,但是nginx服务通常都是后台运行的服务。

运行docker run --help查看docker run命令可加的参数是否能满足我们后台启动nginx的需求。


查看docker run命令可选参数

从图中可以看到,只需要在docker run命令后加入-d参数就能让nginx在后台启动。


后台运行nginx

当我们加入-d参数执行docker run命令启动nginx服务时发现这个命令返回了一个字符串参数。

继续执行docker ps命令查看正在运行的镜像,发现刚刚执行docker run命令返回的字符串正是docker的容器id。


接下来,我们该进去docker容器中去查看我们运行的容器运行情况。执行docker exec命令去查看容器运行情况。在此之前,我们需要查看docker exec命令可以带什么参数。


docker exec可选参数

从docker exec --help返回的可选参数中,我们把命令拼接出来为docker exec -ti {name} bash

进入容器内部

当我执行docker exec命令时,弹出一个提示,这可能是因为我用window系统的缘故,所以需要在命令前加一个winpty参数。


容器内部

从图中看到我们放佛进入了一个linux系统内部,这是由于nginx需要运行在Linux容器上,所以可以在容器内部执行linux命令。

由此已经成功的用docker运行了nginx。

你可能感兴趣的:(Docker学习笔记(四))