• 基本概念定义

    • 基本组成

      • 客户端/守护进程

        • C/S架构
        • 本地/服务器
      • 镜像
        • 容器基石
        • 只读文件系统
        • 联合加载(union mount)
      • 容器
        • 通过镜像启动
        • 执行
        • 写时复制
      • 仓库
        • 公有

          • docker hub
        • 私有
      • 相关技术简介
        • 依赖的Linux内核特性
        • Namespace 命名空间 LXC Kernel Namespace
          • 封装 -> 代码隔离->资源隔离
          • PID 进程隔离 独立进程表
          • NET 管理网络接口 network info
          • IPC 进程通信 额外信息标记
          • MNT 挂载点
          • UTS 隔离内核和版本标识 hostname domain
          • Users 用户
        • Cgroup 控制组 分配资源 资源限制 CPU 内存
          • 资源限制
          • 优先级设定
          • 资源计量
          • 资源控制
        • chroot 隔离根文件系统
  • 基本操作
    • 启动容器 docker run Image

      • 交互 docker run -i -t Image /bin/bash

        • -name
      • 查看进程 docker ps/top [-a ] / [-l]
      • 详细信息 docker inspect +id /+ name
    • 启动停止容器 docker start -i  name/id
    • 删除容器 docker rm   删除已停止容器
  • 守护形式运行容器(长期运行)
    • 退出crtl +p ctrl+q
    • 重新进去 sudo docker attach +id/name
    • 后台执行 docker run -d
    • 查看容器日志(内部运行情况) docker logs [-f一直跟踪] [-t 加时间] [--tail最新] 名字
    • 查看运行中容器进程 docker top + id/name
    • 在运行容器(已启动)中启动运行新进程 docker exec [-d] [-i] [-name]
    • 停止运行中的容器 docker stop 发结束信号停止 /kill 直接快速停止
  • 部署静态网站
    • 容器端口映射 run -P 全部 /-p 指定
    • 安装nginx vim
    • 停止后会重新分配IP
  • 查看和删除镜像
    • docker info 查看信息,包含存储驱动
    • 列出镜像 docker images -a(所有中间层+其他镜像)/-f 过滤条件/--no-trunc(完整的ID) /-q 只查看唯一ID
    • 仓库:REPOSITORY 仓库 (一系列关联镜像集合) 组件仓库 REGISTRY(一个一个独立镜像) 标签TAG +仓库名字 =独立镜像
    • docker rmi -f 强制/ --no-prune 保留父镜像
  • 获取推送镜像
    • docker search --no-trune/-s 3
    • docker login 应该先登录
    • docker pull -a / --registry-mirror
    • docker push
  • 构建镜像
    • docker commit -a 作者/ -m 提交信息/-p 暂停
    • docker build -t 标签 -q 不显示中间过程 利用Dockerfile创建
  • Docker c/s模式
    • Remote API CS 可远程
    • 三种连接方式 1.unix :///var/rundocker.sock (默认) 2.tcp://host:port 3.fd://socketfd
      • 命令
      • 服务连接相关 sdocker -d -D - H(host)
      • Remote API相关
      • 网络设置相关 --ip = 0.0.0.0
      • 仓库相关
      • 存储相关
    • 启动配置文件 /etc/defaut/docker 修改后 要重启服务
    • 远程访问
  • Dockerfile 指令
    • FROM 基础镜像
    • MAINTAINER 作者信息
    • RUN 运行命令
      • shell模式 RUN <command> exec模式 RUN ["executable", "param1", "param2"] 运行其他shell
    • EXPOSE <> 多个端口 不能自动需再添加
    • CMD (指定命令,参数,容器运行时默认行为 类似RUN, 会被覆盖) ENTERPOINT(跟CMD一样 )
    • ADD <src> ...<dest> (包含解压缩功能) COPY<src>..<dest>(普通复制推荐) VOLUME ["/data"] 共享数据
    • WORKDIR /绝对路径 设置工作目录 ENV <key><value> <key>=<value> 环境变量
    • USER daemon 用户/用户组/默认root ONBUILD [INSTRUCTION] 镜像触发器
    • Dockfile 构建过程
      • 运行基础镜像 执行指令 提交 删除中间层容器(不删镜像)
      • 可以通过调试中间层镜像
      • 自动构建缓存 添加--no-cache 不构建缓存 ,刷新 | ENC REFRESH_DATE 2019-05-01修改时间就可刷新
      • docker hsitory 查看镜像构建过程
  • 网络连接
    • 网络基础

      • Docker0 提供虚拟网桥 可以设置IP地址 相当于虚拟网卡
      • 建立虚拟网侨 brctl addbr br0 && ifconfig br0 192.168.2.100 netmask 255.255.255.0
      • 修改默认配置 -b=br0 重启容器
    • 互联
      • 默认允许所有容器互联

        • --icc =ture 全部可ping 通,同一个虚拟网桥,IP不可靠连接(ip变化)
        • --link = cct1:webtest(别名) 环境变量env自动更新webtest,hosts也自动更新 wetest
      • 拒绝连接
        • --icc =false更改默认配置 全部拒绝
      • 特定连接
        • --icc =false   --iptables=true    --link     只允许link配置的容器连接
    • 连接外部网络
      • --ip-forword=true 允许流量转发 查看 sysctl net.ipv4.all.forwarding
      • iptables linux包过滤防火墙 系统
        • 表table nat fitter mango
        • 链chain INPUT FORWARD
        • 规则rule ACCEPT REJRECT DRON
      • 允许端口映射访问
      • ‘限制IP访问容器
  • 数据管理
    • 数据卷

      • 独立于UFS 数据共享 不会因容器关闭而消失 放在host主机中
      • docker run -it -v ~/datavalume:/data ubuntu /bin/bash
      • 添加权限 docker run -it  -v ~/datavalume:/data:ro     ubuntu /bin/bas
      • dockerfile 生成同名的数据卷是不同地址,故不能共享数据
    • 数据卷容器
      • 挂载数据卷容器 docker run -it --volume-from 镜像名字
      • 及时删除了基类数据卷容器 ,不受影响, 数据卷不受容器影响
    • 数据备份还原,迁移
      • docker run -it --volume-from image -v $(pwd)/data:/data: wr ubuntu tar cvf /data/dvt5.tar /data/datavolume1 (压缩,解压缩类似)
  • 跨主机连接
    • 使用网桥

      • 两主机 管理工具bridge-utils 同一网段
      • 修改 /etc/network/interfaces | address network gateway bridge_port( eth0)
      • 修改 /etc/default/docker |-b = br0 --fixed-cidr
      • 优点 配置简单,不依赖 缺点:同网段 划分网段,不易实现和管理
    • Open vSwitch 通常使用 apache2.0许可 虚拟开源多层交换机 gre 通用路由协议,隧道技术
      • openvswitch - switch |网桥工具 bridge-utils
      • 建立ovs网桥 |添加gre连接 |配置虚拟网桥 OVS接口
    • weave 开源项目
      • 安装启动weave 增加执行权限|weave launch 192.168.59.103(第一台电脑ip)
      • c2id=$(weave run 192.168.2/24(分配ip地址) -it Ubuntu /bin/bash)

Docker 学习 | 基础命令的更多相关文章

  1. Docker 学习之命令篇

      Docker 学习之命令篇 1. docker images //镜像列表 2. docker ps –a //所有运行过的容器 3. docker ps –l 最后运行的容器 4. docker ...

  2. 【03】循序渐进学 docker:基础命令

    写在前面的话 之前谈了啥是 docker 和怎么安装 docker,这里就谈谈 docker 命令的使用,当然,这里的使用可能只是局限于 docker 的增删查改. 另外需要注意的是,为了图片的美观, ...

  3. docker入门 基础命令 docker安装

    docker入门   在学一门新知识的时候,超哥喜欢提问,why?what?how? wiki资料 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes ...

  4. docker学习-常用命令2

    三.容器管理命令3.1 Docker commit 命令,从容器创建一个新的镜像.OPTIONS说明: -a :提交的镜像作者: -c :使用Dockerfile指令来创建镜像: -m :提交时的说明 ...

  5. docker学习-常用命令1

    一.容器管理 1.1 Docker start/stop/restart/rm 命令实例:启动|停止|重启|删除 容器mydb01# docker start|stop|restart|rm mydb ...

  6. Docker - 常用基础命令

    Docker命令分布 帮助信息 查看docker基本信息:docker info 查看docker版本信息:docker version 查看docker的所有命令及选项:docker --help ...

  7. (三)、Docker常用基础命令

    1.Docker 帮助命令 帮助命令: docker version 查看版本 docker info 查询docker详细信息 docker --help 查看命令帮助 2.Docker 镜像命令 ...

  8. Docker系列——Docker安装&基础命令

    Docker 概述 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. ...

  9. Docker 学习之命令详解

    1. docker version docker version 显示 Docker 版本信息. 2. docker info docker info 显示 Docker 系统信息,包括镜像和容器数. ...

随机推荐

  1. A-05 前向选择法和前向梯度法

    目录 前向选择法和前向梯度法 一.前向选择法 1.1 余弦相似度求投影 1.2 举例 1.3 前向选择法优缺点 1.3.1 优点 1.3.2 缺点 二.前向梯度法 2.1 举例 2.2 前向梯度法优缺 ...

  2. COGS 2095. 不平凡的引线

    2095. 不平凡的引线 ★☆   输入文件:firelead.in   输出文件:firelead.out   简单对比 时间限制:1 s   内存限制:256 MB [题目描述] 这里说的引线是炮 ...

  3. django安装以及配置

    一.django的安装和启动 1.安装 pip3 install django==1.11.22 目前来讲1.11.22版本比较稳定 2.django的创建 命令行:cmd先去到django创建目录, ...

  4. R-plotly|交互式甘特图(Gantt chart)-项目管理/学习计划

    本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/CGz51qOjFSJ4Wx_qOMzjiw 更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号 ...

  5. Web渗透之mssql2005 差异备份getshell

    这里记录下mssql2005差异备份拿shell的过程 http://192.168.5.21:81/index.asp?id=1;alter/**/database/**/[asp_test]/** ...

  6. Powershell寻找域管在线服务器

    记录线下Powershell在域环境中对于服务器的信息收集 Powershell的脚本有很多,在内网渗透测试中不仅能扫,能爆,能转发,还能做更多的事情.我们常用的脚本有Powersploit,Empi ...

  7. MYSQL中HEX、UNHEX函数

    HEX()函数:返回十六进制值的字符串表示形式.注意:并不是十进制转化为十六进制数,而是转化为字符串... UNHEX() 函数: 每对十六进制数字转化为一个字符. 下面是HEX()几个简单的例子: ...

  8. AB实验的高端玩法系列2 - 更敏感的AB实验, CUPED!

    背景 AB实验可谓是互联网公司进行产品迭代增加用户粘性的大杀器.但人们对AB实验的应用往往只停留在开实验算P值,然后let it go...let it go ... 让我们把AB实验的结果简单的拆解 ...

  9. 基于 HTML5 Canvas 的楼宇自控系统

    前言 楼宇自控是指楼宇中电力设备,如电梯.水泵.风机.空调等,其主要工作性质是强电驱动.通常这些设备是开放性的工作状态,也就是说没有形成一个闭环回路.只要接通电源,设备就在工作,至于工作状态.进程.能 ...

  10. pytorch笔记

    Tensor slice Tensor的indices操作 以[2,3]矩阵为例,slice后可以得到任意shape的矩阵,并不是说一定会小于2行3列. import torch truths=tor ...