zoukankan      html  css  js  c++  java
  • Docker 学习 | 基础命令

    • 基本概念定义
      • 基本组成
        • 客户端/守护进程
          • 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 查看镜像构建过程
    • 网络连接
      • 互联
        • 默认允许所有容器互联
          • --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)
  • 相关阅读:
    对double数据类型的数据保留两位小数,并且进行四舍五入
    div位置设置
    每天一算法 -- (排序算法总结)
    SQL行转列
    设计模式的六大原则
    每天一算法 -- (插入排序)
    每天一算法 -- (选择排序)
    通用扩展函数--类型转换
    wcf和webservice
    Cookie的介绍及使用
  • 原文地址:https://www.cnblogs.com/wxiaote/p/10849797.html
Copyright © 2011-2022 走看看