美文网首页
docker介绍

docker介绍

作者: hygine | 来源:发表于2020-02-25 17:16 被阅读0次

    docker相关的概念:

    1. 镜像:把操作系统、软件、环境变量打包成一个包,就是镜像,在镜像里面,类似一个虚拟机。
    2. 仓库:存储镜像的地方

    镜像

    1. 用来制作镜像的内容写在一个文件中,文件名称必须为:Dockerfile,内容如下
    2. 第一行 FROM hub.XXX.lan/base:v1.0
      1. 从哪个版本镜像进行继承,关键字是FROM, hub.XXX.lan是我们仓库的地址,斜线后面是镜像名称,冒号后面是镜像的版本,如果不填写,默认就会使latest版本
        3.第二个关键字 RUN 后面跟linxu的命令,多个命令之间可以用 &&,或者多行,每行RUN开头
    3. 第三个关键字 ENV 设置环境变量,后面跟设置环境变量的命令即可,不用带export关键字

    docker相关命令

    1. 在docker的管理节点使用docker -H :4000 command parameters
    2. 如果是计算节点,则使用docker command pramters

    镜像相关命令

    • docker build -t 镜像名称:版本号 dockerfile所在的目录==构建镜像的节点不能是管理节点==
    • 构建完镜像,需要将镜像推送到仓库中,命令为:
    • docker push hub.XXX.lan/XXX_task:v1.0
    • 在计算资源上需要使用镜像,那么需要将镜像下拉到计算节点(一般在管理节点),命令为:
    • docker pull hub.XXX.lan/XXX_task:v1.0
    • 执行完命令后,它会将镜像下拉到每个计算节点的本地存储上,==所有镜像多了以后,有可能把计算节点的本地存储占满,另外因为所有节点一起下拉,有可能出现部分节点没有下拉成功,需要大家自己检查,这个目前只能到每个计算节点上去查看,但是如果这个版本号存在过,比如XXX_task:v1.0,如果这次下拉新景象还是v1.0版本,那么查看镜像的时候,你会发现这个版本号存在2行==
    • 查看当前计算节点镜像列表命令:
    • docker images
    • 不同的docker镜像id不会相同,所以如上面所说,名称:版本号即使相同,但是id也不会相同
    • 删除容器 docker rmi 镜像id,做个之间用逗号分隔
    • 计算节点上的一个镜像有不同版本,尽量将不使用的版本删除掉,释放存储占用==因为镜像占用本地存储==

    查看当前计算节点的容器信息

    • docker ps
    • 一般会加一个 -a参数,能够显示最多的信息,在显示结果中,已经运行完成的容器,会出现Exited(x),如果x是0代表正常退出,如果x是非0,代表容器程序异常退出,x就是执行命令异常的返回码,==只要容器显示在ps的结果中,那么容器申请的资源就会一直占据着,不会释放==

    查看容器log:

    • docker logs 容器id
    • 显示的结果是运行程序中显示的log日志以及容器的一些相关信息,可以辅助判断程序异常状况

    启动容器

    1. 用现有镜像启动容器(正常是docker run,为了服务器安全,只能使用docker_run命令,也不用加-H :4000)
    • docker_run --rm -v /share:/share/ -it hub.XXX.lan/ref_mapping:v1.0 bash
    • ==run中的参数--cpuset-cpus 是设定cpu上线 ; -m 是设定内存上线,后面可以跟单位G M==
    1. 基于基础镜像,同时将脚本挂载到镜像中
    • docker -H :4000 run --rm -v /path/to/imagesname:/opt/ -v /share:/share/ -it hub.XXX.lan/base:python2.7-perl-java1.8-R-base bash
    • ==大家手动启的容器,加了--rm参数,如果退出后就会自动,容器就会自动销毁,不加参数需要手动删除容器,不然这个容器占用的资源永远被占用,但不使用==

    进入容器:

    • 如果有一个在运行的容器,可以直接进入其中:
    • docker exec -it 9f4d456dbb56 bash

    查看容器状态

    • docker stats

    如何进入退出的容器

    1. 先查容器的sha256:
      docker -H :4000 commit <容器ID>
    • 会看到一长串字符, 记下前几个 (长度大概跟容器ID差不多就行了)
    1. 然后进入这个容器:
      docker -H :4000 run -it -v /share/:/share/ --cap-add SYS_ADMIN --device /dev/fuse id bash

    查看所有计算节点的信息(用的比较少):

    docker info

    其他命令

    docker 还有其他相关命令,可使用docker help进行相关查看,或者百度

    相关文章

      网友评论

          本文标题:docker介绍

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