美文网首页
Docker基础

Docker基础

作者: mihope | 来源:发表于2018-12-12 21:44 被阅读2次

    Docker 用于提供虚拟的运行环境。

    主要用途

    (1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
    (2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
    (3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

    image

    image 文件可以看作是容器的模板。
    Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例

    # 列出本机的所有 image 文件。
    $ docker image ls
    $ docker image ls -a
    # 删除 image 文件
    $ docker image rm [imageName]
    
    # 从 image 文件,生成一个正在运行的容器实例,如果发现本地没有指定的 image 文件,就会从仓库自动抓取。
    $ docker run -d -p 8088:80 --name webserver nginx
    #   -d                          # 后台运行
    #   -p 宿主机端口:容器端口 的映射
    $ docker container run hello-world
    

    container

    image 文件生成的容器实例,本身也是一个文件,称为容器文件,一旦容器生成,就会同时存在两个文件: image 文件和容器文件。而且关闭容器并不会删除容器文件,只是容器停止运行而已.

    # 列出本机正在运行的容器
    
    $ docker container ls
    $ docker ps
    
    # 列出本机所有容器,包括终止运行的容器
    
    $ docker container ls --all
    $ docker ps --all
    
    # 终止容器
    $ docker container kill [containerID|containerName]
    # 启动、停止、重启指定容器
    $ docker container start/stop/restart  [containerID|containerName]
    
    # 删除的容器文件
    $ docker container rm [containerID|containerName]
    
    # 清除掉所有处于终止状态的容器
    $ docker container prune
    
    # 进入容器(启动后)
    $ docker exec -it [containerID|containerName] bash
    # -it : -i表示交互式操作    -t 表示终端
    

    将容器保存为镜像

    当我们运行一个容器后,对容器的任何修改都会记录到容器的存储层。使用docker commit命令可以将容器保存为镜像

    docker commit --author 'authoer_name' --message '修改了' [containerID|containerName] [镜像名:标签]]

    # 提交
    docker commit --author 'zhsheng' --message '修改了主页' myweb nginx:v2
    # 容器
    docker run -d -p 80:80 --name myweb nginx:v2
    # 查看镜像修改历史
    docker history nginx:v2
    

    使用 commit 的方式保存生成镜像,镜像的创建过程是不可见的,无法追溯明确变动历史。

    相关文章

      网友评论

          本文标题:Docker基础

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