• 「初级篇」跟我一起学docker(四)--容器的基本操作


    1.创建容器

    Docker的容器十分轻量级,用户可以随时创建或删除容器。

        新建容器:docker create

        Example:docker create –ti ubuntu

    说明:使用docker create命令创建的容器处于停止状态,可以使用docker start命令启动它。

        新增加了一个name等于test_create的,status等于create


    新建并启动容器:docker run

        Example: docker run ubuntu/bin/echo “Hello World”

    说明: 等价于先执行docker create命令,再执行docker start命令。

    docker run 背后的故事:

    1 检查本地是否存在制定的镜像,不存在就从公有仓库下载。

    2 利用本地镜像创建并启动一个容器。

    3 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层。

    4 从宿主机配置的网桥接口桥接一个虚拟接口到容器中去。

    5 从地址池配置一个IP地址给容器。

    6 执行用户的指定的用户程序。

    7 执行完毕后容器被终止。

    一条简单的命令:

        docker run -i –t ubuntu/bin/bash

        -t : 让docker分配一个伪终端并绑定到容器的标准输入上。

        -i : 让容器的标准输入保持打开。

    在交互模式下,用户可以通过所创建的终端来输入命令,exit命令退出容器。

    退出后,容器自动处于终止状态。

        3秒前容器被退出了。

    守护台运行:

        更多的时候,需要让Docker容器运行在后台以守护态(daemonized)形式运行。用户可以通过

    添加-d参数来实现。

    Example:

        docker run –d ubuntu/bin/sh -c “while true;do echo hello world;sleep 1;done”

    补充:

        查看日志: docker logs

        docker logs –f 动态的查看日志,类似咱们查看tomcat的日志一样

    2.终止容器

    可以使用docker stop命令来终止一个运行中的容器。

        docker stop

    注意:

    当容器中的应用终结时,容器也会自动停止。

        查看终止的容器:docker ps -a

        查看运行的容器:docker ps

    重新启动容器:docker start

    3.进入容器

     在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息。

        docker exec

    Exec可以直接在容器内部运行命令。

    进入容器:

        docker exec -i –t bash

        run 运行一个容器后,进入容器的话,exit容器直接退出

        exec进入容器后,exit容器不退出,仍在后台运行

    4.删除容器

        可以使用docker rm命令删除终止状态的容器。

        如果删除正在运行的容器,需要停止容器在进行删除

        不管容器是否运行,可以使用docker rm–f命令进行删除。

    5.导入和导出容器

        导出容器是指导出一个已经创建的容器到一个文件,不管容器是否处于运行状态。可以使用docker export命令。

        docker export

    Example:

        Docker export test_id >test.tar

        导出的文件又可以使用docker import命令导入,成为镜像。

    Example:

        cat export.tar | docker import - liming/testimport:latest

        导入容器生成镜像,通过镜像生成容器,查看容器里面的内容


    往期docker学习:

    认识docker

    核心概念和安装 

    容器的常用操作

  • 相关阅读:
    asp.net 连接 Access 的几种方法
    asp.net 连接 oracle10g 数据库
    Entity Framework实例
    LINQ链接数据库出错(There is already an open DataReader associated with this Command which must be closed first )
    Linq入门实例
    Nibatis实例(2)
    Log4net实例
    图片提交表单方法
    Nibatis实例(1)
    爱情是不离不弃吗?
  • 原文地址:https://www.cnblogs.com/idig88/p/9142346.html
Copyright © 2020-2023  润新知