美文网首页
Docker-2-容器的基本操作I

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

作者: 冷风_f818 | 来源:发表于2019-05-28 14:49 被阅读0次

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

    查看容器

    查看正在运行的容器

    docker ps
    
    image

    查看所有容器

    docker ps -a
    
    image

    查看最近创建的容器

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

    docker ps -l
    
    image

    查看最近创建的x个容器

    docker ps -n=x
    
    image

    返回值详解

    • CONTAINER ID: 容器的唯一ID,是一个64位的十六进制整数,在不会混淆的情况下,可以只采用id的前几位进行标识一个容器
    • IMAGE: 表示创建容器时所使用的镜像
    • COMMAND: 表示容器最后运行的命令
    • CREATED: 创建容器的时间
    • STATUS: 容器的状态,这里可能显示一个容器的启动时间也可能是容器的关闭时间,具体要看容器当前的状态
    • PORTS: 容器对外开放的端口
    • NAMES: 容器的名字,如果不设置,会有一个默认的名字

    创建容器

    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
    
    • --name 创建的容器名称
    • -d 表示容器在后台裕兴
    • -p 将容器的80端口映射到宿主机的8080端口
    • nginx 使用的镜像的名字/这里也可以替换成镜像的id
    image

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

    image

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

    交互型容器

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

    docker run --name ubuntu -it ubuntu /bin/bash
    
    • it: i表示开发容器的标准输入(STDIN),t表示告诉docker,为容器创建一个命令行终端
    image

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

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

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

    后台型进行交互

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

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

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

    相关文章

      网友评论

          本文标题:Docker-2-容器的基本操作I

          本文链接:https://www.haomeiwen.com/subject/gykdtctx.html