美文网首页
docker基础 --- 容器篇

docker基础 --- 容器篇

作者: 梦想做小猿 | 来源:发表于2017-02-10 17:12 被阅读0次

    说明

    容器是docker又一核心概念,容器的运行基于镜像之上,是独立运行的一个或一组应用

    启动容器

    启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是启动停止状态的容器

    • 新建并启动

      命令:docker run

      • 输出hello world,然后终止容器
      [root@localhost ~]# docker run centos /bin/echo 'hello world'
      
      • 进入docker容器,在终端交互
      [root@localhost ~]# docker run -it centos
      
      • 容器停止后自动删除容器
      [root@localhost ~]# docker run -it --rm centos
      

      解释

      -it:是两个参数,-i 让容器的标准输入保持打开,-t让docker分配一个伪终端
      --rm:容器退出,自动删除,可通过docker ps -a查看

      docker 使用run启动容器时的步骤:

      1. 检查本地是否存在指定的镜像,没有就从公有仓库下载
      2. 分配一个文件系统,在只读层的镜像层外面再挂载一个读写层
      3. 从宿主机桥接一个虚拟接口道容器中去
      4. 从地址池分配一个ip地址给容器
      5. 执行用户指定的程序
      6. 执行完毕后终止容器
    • 启动已终止的容器

      [root@localhost ~]# docker start xxx
      
    • 后台运行
      docker默认是在前台运行,会将输入直接打印到当前宿主机,更多情况下需要将容器放后台运行,使用docker logs CONTAINER查看输出内容

      [root@localhost ~]# docker run docker run --name nginx_v3 -d -p 80:80 nginx:v3
      

    终止容器

    docker stop

    导出导入容器

    • 导出容器

      命令:docker export

      [root@localhost ~]# docker ps -a
      CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
      0b7c70f3f7ba        nginx:v3            "nginx -g 'daemon ..."   23 hours ago        Exited (0) 23 hours ago                       nginx_v3
      [root@localhost ~]# docker export 0b7c70f3f7ba > nginx_v3.tar
      
    • 导入容器

      命令:docker import

      • 从本地文件导入
      [root@localhost ~]# docker import nginx_v3.tar nginx:v4
      sha256:e4d7efa6c90b4465a4d50b9e2a02b39da5f9d2fe127687aa0ddd4669309bfecf
      [root@localhost mynginx]# docker images
      REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
      nginx               v4                  e4d7efa6c90b        54 seconds ago      717 MB
      
      • 从RUL导入
      [root@localhost ~]# docker import http://example.com/test.tgz example
      

    删除容器

    命令:docker rm

    清楚所有处于终止状态的容器

    [root@localhost ~]# docker rm $(docker ps -a -q)
    

    docker 默认不会删除正在运行的容器

    相关文章

      网友评论

          本文标题:docker基础 --- 容器篇

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