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 修改后 要重启服务
    • 远程访问
      • 修改/etc/defaut/docker  添加 - H tcp://0.0.0.0:2375
      • export DOCKER_HOST = "tcp://0.0.0.0:2375" 可修改远程 export DOCKER_HOST =" " 置空
      • -H 选项可多个添加
  • 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)

原文地址:https://www.cnblogs.com/xiaote/p/10849797.html

时间: 2024-10-08 21:55:53

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

Docker的基础命令

前言 最近在学习docker,以下是我整理的一些docker的基础命令,欢迎小伙伴们在评论补充! curl -fsSL https://get.docker.com/ | sh  安装  yum -y install docker 安装(版本较老) systemctl start docker 启动docker systemctl enable docker 开机自启动命令 systemctl disable docker 取消开机自启命令 docker version  验证安装,安装成功会出

Docker的基础命令汇总

一.Docker的基础命令 [[email protected] ~]# docker search dhcp #以DHCP作为关键字进行搜索镜像 [[email protected] ~]# docker pull docker.io/networkboot/dhcpd #下载查询出来的某个镜像 [[email protected] ~]# docker images #查询下载的镜像 [[email protected] ~]# docker tag docker.io/networkboo

docker容器基础命令

1.创建容器 Docker容器非常轻量级,用户可以随时创建或者删除    docker create -ti ubuntu 使用docker create命令创建的容器处于停止状态,需使用docker start启动. 新增加了一个name等于cccc,status为Created 新建并启动容器:docker run docker run ubuntu /bin/echo "hello" docker run 背后的故事 1)检查本地是否存在制定的镜像,不存在就从公有仓库下载 2)利

docker学习-常用命令1

一.容器管理 1.1 Docker start/stop/restart/rm 命令实例:启动|停止|重启|删除 容器mydb01# docker start|stop|restart|rm mydb01 1.2 Docker kill 命令,杀掉一个运行中的容器.OPTIONS说明: -s :向容器发送一个信号 例:杀掉运行中的容器mydb01# docker kill -s KILL mydb01 1.3 Docker rm 命令,删除一个或多少容器OPTIONS说明: -f :通过SIGK

docker学习-常用命令2

三.容器管理命令3.1 Docker commit 命令,从容器创建一个新的镜像.OPTIONS说明: -a :提交的镜像作者: -c :使用Dockerfile指令来创建镜像: -m :提交时的说明文字: -p :在commit时,将容器暂停. 实例:将容器6h04c6c178u7 保存为新的镜像,并添加提交人信息和说明信息.# docker commit -a "xliang" -m "web_db" 6h04c6c178u7 sql:v1 # docker i

docker之基础命令

安装docker:    #yum install docker.io 服务:    #systemctl status docker #docker [OPTION] COMMAND [CMDOPTION] [ARGS,...] [OPTION] COMMAND container            start CONTNAME,... 启用container            stop CONTNAME,... 停止containier            restart CONT

docker学习笔记-命令大全

p.p1 { margin: 5.0px 0.0px 5.0px 0.0px; font: 14.0px Helvetica } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 24.0px; font: 10.0px Helvetica; color: #424242 } p.p4 { margin: 5.0px 0.0px 5.0px 0.0px; font: 10.0px Helvetica; color: #424242 } p.

Docker学习__docker命令[docker version 和 docker info]

其他知识点,会在后续学习过程中再做完善. Docker安装成功后,查看安装的Docker的相关信息. Docker命令: docker version:显示 Docker 版本信息. [[email protected] docker]# docker version Client: Docker Engine - Community #[docker客户端的相关信息] Version: 19.03.5 #[客户端的版本] API version: 1.40 #[API的版本] Go versi

Linux 学习基础命令——9.24

第一节课:Linux的基本命令用法与man手册的使用 1:ls 列出文件列表 -a列出所有的目录(包含隐藏文件) -d列出目录本身,而不列出目录内的数据 例:ls -ld /home -h列出文件的容量 例:[[email protected] /]# ls -hld /etc/                drwxr-xr-x. 135 root root 8.0K Sep 27 07:23 /etc/ 单纯的使用ls -h [[email protected] /]# ls -h