zoukankan      html  css  js  c++  java
  • docker 使用:镜像和容器

    docker 镜像

    docker image是一个极度精简版的Linux程序运行环境,官网的java镜像包括的东西更少,除非是镜像叠加方式的如centos+java7,需要定制化build的一个安装包,包括基础镜像+应用的二进制部署包,内不建议有运行期需要修改的配置文件

    Dockerfile用来创建一个自定义的image,包含了用户指定的软件依赖等。当前目录下包含Dockerfile,使用命令build来创建新的image

    docker image的最佳实践之一是尽量重用和使用网上公开的基础镜像

    通过docker 拉取 一个ubuntu的镜像。

    docker pull ubuntu
    

    使用命令查看镜像是否存在:

    docker images
    

    这时候我们多了一个相应的镜像:

    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    ubuntu              latest              d131e0fa2585        10 days ago         102MB
    

    docker 容器

    使用这个镜像启动一个实例,这个实例称为容器。

    Docker container是image的实例,共享内核不同的容器里可以运行不同os的image,比如Ubuntu的或者centos,不建议内部开启一个sshd服务,1.3版本后新增了docker exec命令进入容器进行排查问题,没有ip地址,通常不会有服务端口暴露,是一个封闭的沙盒。

    通过镜像启动一个实例:

    docker run -it -d --name ubuntu_test  ubuntu
    

    通过命令查看容器是否启动:

    docker ps
    

    得到如下结果:

    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    de3589d1bafa        ubuntu              "/bin/bash"         13 minutes ago      Up 13 minutes                           ubuntu_test
    

    镜像和容器的删除

    删除容器的时候需要确保容器没有在运行,在运行的话需要先关闭:

    docker stop de3589d1bafa
    

    然后进行删除:

    docker rm de3589d1bafa
    

    删除镜像,需要保证镜像没有被容器使用:

    docker rmi d131e0fa2585
    

    如果删除所有的容器可以使用如下:

    docker stop $(docker ps -a -q)
    docker rm $(docker ps -aq)
    

    进入容器

    安装完成了容器以后,想看看到底容器里面是什么,可以使用exec进入容器,例如进入ubuntu的容器中,容器跟普通的ubuntu没有什么区别:

    docker exec -it de3589d1bafa /bin/bash
    


    更多教程:大家来编程

  • 相关阅读:
    针式PKM的主要画面的功能简介
    程序员早日走向架构师的利器:针式PKM V8.01发布
    如何经营你的知识资产
    一般软件工程师怎样拥有更多的资产
    剪贴板的使用技巧
    不要给自己找不“深入学习”的理由了
    《小论无所事事》
    全国(1977年~2011年)历年参加高考人数和录取人数
    Sql Server中,文件批量重命名
    HTML斜线表头
  • 原文地址:https://www.cnblogs.com/bugingcode/p/12290748.html
Copyright © 2011-2022 走看看