美文网首页
【6.2】docker基础知识 容器

【6.2】docker基础知识 容器

作者: 王滕辉 | 来源:发表于2022-03-23 08:43 被阅读0次

    镜像和容器的关系可以看做是 java 中类和实例的关系。镜像时静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

    镜像使用的是分层存储,容器也是一样的。每一个容器运行时是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称这个容器运行时读写而准备存储层为容器存储层。

    容器存储层的生命周期和容器一样,容器消亡时,容器存储层也会消失。因此任何保存于容器存储层的信息都会随着容器的删除而丢失。

    按照Docker最佳实践的要求,容器不应该向存储层内写任何数据,容器存储层要保持无状态化。所有文件的写入操作都应该使用volume 数据卷、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或者网络存储)发生读写,其性能和稳定性更高。

    数据卷的生命周期独立于容器,容器消亡,数据卷不会消亡。因此使用数据卷之后,容器删除或者重新运行之后数据不会丢失。

    容器的基本命令

    # 查看容器
    docker ps -a
    docker ps -a -q # 查看所有停止的容器
    
    # 创建容器
    docker create -it nginx
    
    # 启动
    docker start nginx
    
    # 创建并启动
    docker run nginx
    
    # 当使用docker run命令创建启动容器时,Docker在后台运行的标准操作有下面几个步骤
    # 1、检测本地是否存在指定的镜像,不存在就从公有仓库下载
    # 2、利用镜像创建并启动一个容器
    # 3、分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
    # 4、从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
    # 5、从地址池配置一个IP地址给容器
    # 6、执行用户指定的应用程序
    # 7、执行完毕后终止容器
    
    # 重启
    docker restart nginx
    
    # 进入容器中 几种方式 
    # 1.docker attach 命令、
    docker attach  nginx
    # 2.docker exec 命令、
    docker exec -ti nginx /bin/bash
    # 3.nsenter工具
    
    # 停止
    docker stop nginx
    
    # 移除
    docker rm nginx
    # -f, --force=false:强项终止并删除一个运行中的容器。
    # -l, --link=false:删除容器的连接,但保留容器。
    # -v, --volumes=false:删除容器挂载的数据卷。
    
    # 显示 细节
    docker inspect nginx
    
    
    # 清理所有处于终止状态的容器
    docker container prune 
    
    # 启动一个容器,容器结束运行即删除
    docker run -it --rm nginx
    
    # 导出
    docker export nginx
    
    # 导入
    docker import nginx
    
    # 查询帮助
    docker container --help
    

    点波关注 系统搭建(docker)

    相关文章

      网友评论

          本文标题:【6.2】docker基础知识 容器

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