美文网首页
Docker 实践指南(4)

Docker 实践指南(4)

作者: Svon_Book | 来源:发表于2018-07-05 11:41 被阅读9次

    本节介绍容器的常用操作。
      前面说过,服务都是跑在容器里的,容器的底层实质上也是一个操作系统,能安装软件,有进程,只不过这个系统很精简。容器和虚拟机一样有启动、停止的状态。使用 ubuntu 14.04 镜像运行一个容器来体验一下:

    $ docker run -it ubuntu:14.04 /bin/bash
    root@bfffba2819bf:/#
    

    这样我们就启动并进入到了容器里面,接着输入一些命令看看效果 ps aux ,ifconfig ,df -h
      上面命令中 -it 参数表示接管容器的标准输入输出并开启一个伪终端(其实和 windows 的远程连接是一个意思,在这里意思是从宿主机连接到容器里),跟在命令最后面的 /bin/bash 表示启动容器后要运行的进程,由于我们要与容器进行交互,所以得开启一个shell

    输入exit退出当前容器,返回宿主机

     root@bfffba2819bf:/# exit
    

    使用docker ps查看当前宿主系统中容器的状态

     $ docker ps
    

    正常来说是查看不到东西,这是由于容器要一直保持启动状态,就得有持续活动的进程,如果没有或者进程运行一段时间自己结束掉了,容器会自动停止。这也就是为什么要在docker run 语句的最后面加上 /bin/bash ,如果不指定,容器里就没有进程,当然它将一直无法启动。理解这个概念很重要。

    使用 docker ps -a 查看未能启动(过期)的容器

    $ docker ps -a
    

    尝试启动并查看它。操作容器可以使用容器名、容器ID、ID简写,下例演示ID简写的方式:

    $ docker start 77
    

    再次使用docker ps发现依旧未能启动,这是由于该容器启动后没有任何进程,故而自动停止了。删除这个容器,接下来创建一个有持久进程存在的容器。

    删除容器:

    $ docker rm --force 77fd6
    

    创建一个容器,name为 daemon_container,不开启交互,以分离(--detach)的形式在后台持续运行:

     $ docker run --name daemon_container --detach ubuntu:14.04 \
     /bin/bash -c "while true; do echo I\'am living... ; sleep 1; done"
    

    再次查看容器状态:


    由于开启了一个死循环,所以这个进程是不会自己结束的。在宿主层面查看该容器的进程:

    $ docker top daemon_container
    

    看看容器的日志信息:

    $ docker logs daemon_container
    

    停止容器:

    $ docker stop daemon_container
    

    查看容器详细描述:

    $ docker inspect daemon_container
    

    至此 docker 的基础操作简单介绍完毕,后面文章将进入到构建 LNMP 的过程。

    相关文章

      网友评论

          本文标题:Docker 实践指南(4)

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