zoukankan      html  css  js  c++  java
  • Docker 架构

    Docker 架构

    Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

    Docker 容器通过 Docker 镜像来创建。

    容器与镜像的关系类似于面向对象编程中的对象与类。

    Docker面向对象
    容器 对象
    镜像

    Docker 镜像(Images)

    Docker 镜像是用于创建 Docker 容器的模板。

    Docker 容器(Container)

    容器是独立运行的一个或一组应用。

    Docker 客户端(Client)

    Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。

    Docker 主机(Host)

    一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

    Docker 仓库(Registry)

    Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

    Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。

    Docker Machine

    Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

      

    yum install docker 安装docker 也可以按照官网文档安装
    docker images 显示当前系统中所有的镜像
    docker search centos 搜索你要找的指定镜像
    docker pull centos 下载镜像
    docker save -o centos.tar centos 将下载的镜像倒出至本地
    docker load --input centos 将本地的镜像导入到docker images中
    docker rmi ID 删除镜像(如果镜像建立了一个容器无法删除)
    docker ps -a 显示所有的容器包括退出的
    docker ps 只显示正在运行的容器
    docker run --name (自定义名称) -t -i 镜像名称 /bin/bash 创建一个容器(此种方法在你退出的时候这个docker就会停止)

    docker start 容器名 启动停止的容器
    docker attach 容器名 进入容器(此种方式是单用户模式,退出后容器也会停止,生产时不用此命令)
    docker inspect -f '{{.State.Pid}}' 容器名称 获取容器的ID(如果获取到0是容器未启动)
    nsenter -t PID -p -m -u -i -n(部分需要安装:yum install util-linux) (进入容器,此种方式退出后,容器不会停止)
    进入容器的脚本:
    #!/bin/bash
    docker_in(){
    NAME_ID=$1
    PID=$(docker inspect -f '{{.State.Pid}}' $NAME_ID)
    nsenter -t $PID -m -u -i -n -p
    }
    docker_in $1

    docker exec 容器名称 要执行的命令 不进入容器执行你需要执行的命令
    docker rm 容器名称 删除容器,如果需要删除正在运行的容器添加-f参数就行
    docker run -d -P 镜像名 后台运行容器随机指定端口
    docker run -d -p 81:80 --name 自定义容器名 镜像名 开启一个后台运行的容器并且指定本地81端口映射到容器的80端口
    docker run -d -p 10.0.0.202:81:80 --name 自定义容器名 镜像名
    docker port 容器名 查看容器的端口映射关系
    docker run -d --name 自定义容器名 -v 需要挂在的目录 镜像名 指定一个本地目录挂在nginx
    docker run -d --name 自定义容器名 -v 源目录:目的挂在的目录 镜像名
    docker inspect -f {{.Mounts}} mynginx2 查看挂载点
    docker stop 容器名 停止容器
    $ docker ps -a -q // 查看所有容器ID
    $ docker stop $(docker ps -a -q) // stop停止所有容器
    $ docker rm $(docker ps -a -q) // remove删除所有容器


    手动创建镜像:
    1、先使用现有的centos镜像创建一个容器并进入容器里面:docker run --name 容器名字 -it 镜像名
    2、 进入之后安装你需要的环境,(在安装nginx是需要修改配置文件将程序放在前台运行,在nginx配置文件中添加:daemon off;)
    3、环境安装完成后就可以提交本地做镜像了:docker commit -m ‘添加描述’ 容器ID 仓库的名称/镜像名称:版本
    4、查看镜像docker images 就可以看到新建的镜像了

  • 相关阅读:
    docker命令(二)
    吴裕雄--天生自然WEB前端开发实战--JavaScript语言
    吴裕雄--天生自然WEB前端开发实战--HTML--CCS页面布局
    吴裕雄--天生自然WEB前端开发实战--HTML--CCS
    吴裕雄--天生自然WEB前端开发实战--HTML--表格与表单
    吴裕雄--天生自然WEB前端开发实战--HTML基础--2
    吴裕雄--天生自然WEB前端开发实战--HTML基础
    吴裕雄--天生自然python数据可视化--NetworkX精美网络图绘制
    线性求逆元
    Linux:linux服务器稳定性压力测试工具stress安装与使用
  • 原文地址:https://www.cnblogs.com/yhll/p/9407367.html
Copyright © 2011-2022 走看看