• docker学习笔记3 容器 container


    容器从镜像(images)中来,可以想象成:images是光碟,用光碟给机器装系统、装软件,装好的app就是容器(container)

    --------------------------------------------------------------------------

    docker run   创建并启动容器,后台会进行以下操作:

    1、检查本地是否有image,没有的话会自动去下载,内网的机器就只能从harbor里下载好;

    2、利用image创建一个容器,并启动该容器;

    3、分配一个文件系统给容器,并在只读的镜像层外挂载一层可读写层,相当于mount一个目录给容器,所以docker的存储要设计好,否则很容易就存储爆掉;

    4、从宿主机配置的网桥接口中桥接一个虚拟接口给容器;

    5、从网桥的地址池中分配一个IP给容器,大部分是172开头;

    6、执行用户指定的应用程序;

    7、执行完毕后容器自动终止。

    ------------------------------------------------------------------------------

    容器的命令都以docker container开头,也可以简写,比如docker container ps -a = docker ps -a,但是更清楚一些,新手更明白一些,写脚本也建议这么写。同理,image的命令都以docker image 开头。。。。 

    从安全的角度出发,带container更安全一些,建议写脚本的时候带上,更直观的指导这些命令用于操作容器。

    docker container ps -a   可以看到所有运行、停止的容器

    docker container start 容器ID    启动一个已经存在容器

    docker container stop 容器ID    停止一个正在运行的容器,停不掉就用kill

    docker container rm 容器ID       删除一个已经停止的容器

    docker container logs 容器ID      看容器的输出,但只输出一次,用起来不是很方便

    docker container run 镜像名或镜像ID

    docker container run -it  镜像名或镜像ID /bin/bash        -t让docker分配一个未终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开;/bin/bash用的是镜像里的/bin/bash作为bash命令,这个在image里面必须要有。这个命令可以运行容器了以后,自动就进入容器内部,是进入容器的一种方法。exit出来以后,容器就停止了,处于exited状态。

    docker container run -d 镜像名或镜像ID      以守护模式(daemon,或者说,在后台运行)运行容器

    像centos ubuntu之类的OS baseimage,启动的时候:  docker container -it -d 镜像名或镜像ID              这样才能把OS启动起来,并且一直运行不exit。但容器的理念是:一个容器,一个服务。OS baseimage更多的是用来做新镜像用,不需要长时间运行,一般是进去baseimage,做变更,然后commit一个新image。

    -------------------------------------------------------------------

    docker container exec -it 容器ID  /bin/bash         进入一个正在运行中的容器,-it保持标准输入并分配伪终端,/bin/bash和上面的意思一样,是进入容器的推荐方式。

    -------------------------------------------------------------------

    导出容器,运行、不运行状态的容器都可以导出,便于迁移。导出的是容器快照。

    docker container export -o xxx.tar  容器ID

    导入容器,其实是导入容器相关的镜像。将导出的tar文件传到另一个环境,先导成image,再从image启动容器。

    docker  image import xxx.tar 镜像名:tag

    docker image import导入容器快照,和docker image load导入镜像存储文件,效果差不多,但是容器快照文件会少历史记录和元数据信息,体积小,另一个信息更全一些,体积也更大。

  • 相关阅读:
    自定义 mapper
    solr 服务搭建
    jedis 连接redis
    jedis 整合 Spring
    Redis 安装
    HttpClient 工具类
    springMvc 中返回字符串 乱码解决
    linux常用命令解析
    压缩jar包
    控制反转
  • 原文地址:https://www.cnblogs.com/alpha118/p/10334051.html
Copyright © 2020-2023  润新知