Docker-2-容器的基本操作I

2019-05-28  本文已影响0人  冷风_f818

前文中简单的了解了一下docker,也在CentOS7的环境下安装了docker,那下面就来看一下docker中的一些基本的操作

查看容器

查看正在运行的容器

docker ps
image

查看所有容器

docker ps -a
image

查看最近创建的容器

查看最近创建的一个容器:

docker ps -l
image

查看最近创建的x个容器

docker ps -n=x
image

返回值详解

创建容器

docker创建容器有两种方式,一种是创建完成直接启动,一种是先创建,完了再去启动,两种方式其实是差不多的,当执行一个创建命令后,docker首先会去本地路径下找是不是有相应的镜像,如果没有的话就去docker hub上去搜索,搜到了的话先下载下来,然后再用刚下载下来的镜像创建[启动]容器.

容器的文件系统是在只读的镜像文件上添加一层可读可写的文件层,这样可以使在不改变镜像的情况下,只记录改变的数据.

创建一个容器不启动

使用以下命令可以创建一个容器但是不启动,创建完成之后容器的状态处于停止状态:

docker create 镜像ID/镜像名

举个例子,比如我们要创建一个nginx的容器,命令如下:

docker create nginx
image

首先它会先看我本地有没有这个nginx的镜像,发现并没有,然后就去docker hub里面去下载这个镜像,下载的版本是最新的镜像,下载完成之后再用刚下载下来的镜像去创建容器

然后创建完成之后用docker ps -a查看一下,可以看到他的状态是Created,并没有启动,然后名称是一个默认的名称

这里我们也可以指定名称去创建容器,如下:

docker create --name=nginx nginx
image

这次创建我们本地有了镜像之后,就直接创建了不用再去docker hub去下载了

上面创建了容器之后,并没有去启动,下面再来看下直接创建并启动

创建容器并启动

使用docker run命令可以创建并启动一个容器,这个命令又可以启动两种不同模式的容器:后台型容器和交互型容器

后台型容器就是一个在后台运行的容器,不需要和开发者进行交互,而交互型容器则需要接收开发者的输入进行处理给出反馈,在实际使用中,大部分情况都是创建后台型容器,不过在很多时候,后台型容器也不可避免进行交互

后台型容器

还是以nginx为例,命令如下:

docker run --name nginx -d -p 8080:80 nginx
image

创建好了之后,可以看到他已经运行起来了,这时候我们就可以通过ip和端口访问了,如下:

image

这就是一个后台型容器的基本创建方式,再来看一下交互型容器

交互型容器

比如要创建一个ubuntu容器,开发者可能需要在ubuntu上面输入命令执行相关操作,创建方式如下:

docker run --name ubuntu -it ubuntu /bin/bash
image

上图中,第一次创建是失败了,拉取镜像超时了,这是因为天朝网络的原因,多试几次就好了

然后拉取下来创建完成之后,进入了一个命令终端,在这个终端里面就可以操作我们刚创建ubuntu了

最后操作完成之后使用exit命令就退出去了,退出的同时,这个容器就关闭了,并不会后台运行,等我们下次再手动启动这个容器的时候就变成了后台运行的了

后台型进行交互

我们上面创建的后台型容器如何进行交互呢, 也就是说怎样进入容器内部呢? 可以使用以下命令:

docker exec -it 容器id/容器名称 /bin/bash
image

-ti的意思还是和上面一样的,就不多说了,退出容器用exit命令就退出了

上一篇下一篇

猜你喜欢

热点阅读