docker学习|基础命令

xiaote xiaote     2022-12-09     754

关键词:

  • 基本概念定义
    • 基本组成
      • 客户端/守护进程
        • 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)

docker学习|基础命令

...载(unionmount)容器通过镜像启动执行写时复制仓库公有dockerhub私有相关技术简介依赖的Linux内核特性Namespace命名空间LXCKernelNamespace封装->代码隔离->资源隔离PID进程隔离独立进程表NET管理网络接口networkinfoIPC进程通信额外信息... 查看详情

dockers学习基础镜像管理与命令

1.从镜像仓库拉取镜像dockerpull[OPTIONS]NAME[:TAG|@DIGEST]dockerpullcentos:7.6.18102.镜像仓库搜索镜像dockersearchcentos3.查看本地镜像列表dockerimagelsdockerimagels--no-trunc 查看镜像列表显示每个镜像的完整ID,imageid默认为64位,通常只显示前12位... 查看详情

docker基础命令

  学习docker中有很多基础的命令需要记,因自己记性不好所以记录下来方便记不起时查看!1.systemctlstartdocker ----启动docker后台服务2.dockerrun[NAME] ----运行某一镜像,若本地没有该镜像会前往仓库查找下载,默认最新版本3.dockerr... 查看详情

docker基础命令(代码片段)

Docker常用命令学习网站:https://yeasy.gitbook.io/docker_practice/查看所有镜像:“dockerimages”删除imagedockerrmiIMAGEID若上步无法删除,则需要先删除运行过该images的container,先利用“dockerps-a”查看退出的container;再利用“dockerrmCONTAINERID... 查看详情

docker入门基础篇(代码片段)

查看docker教学视频,请点击《狂神说java》:https://www.bilibili.com/video/BV1og4y1q7M4?p=1记得投币三连呀~~Docker学习Docker概述Docker安装Docker命令镜像命令容器命令操作命令......Docker镜像容器数据卷DockerFileDocker网络原理Idea整合DockerDockerCompose... 查看详情

docker基础学习三(代码片段)

一、Dockerfile学习由一系列的参数和命令构成的脚本。这些命令应用于基础镜像并最终创建一个新的镜像。基础镜像就是操作系统级别的镜像。常用命令FROMimage_name:tag定义了使用哪个基础镜像启动构建流程MAINTAINERuser_name声明镜像... 查看详情

docker学习总结八

使用Dockerfile创建镜像一般Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时的指令1.指令说明指令说明FROM指定所创建镜像的基础镜像MAINTAINER指定维护者信息RUN运行命令CMD指定启动容器时默认执行的命... 查看详情

docker的基础命令

前言最近在学习docker,以下是我整理的一些docker的基础命令,欢迎小伙伴们在评论补充! curl-fsSLhttps://get.docker.com/|sh 安装 yum-yinstalldocker安装(版本较老)systemctlstartdocker启动dockersystemctlenabledocker开机自启动命令systemctld... 查看详情

docker基础学习笔记(代码片段)

....通过命令使用数据卷查看数据卷匿名挂载具名挂载3.通过Dockerfile使用数据卷数据卷容器二、DockerFile1.什么是dockerfile?2.DockerFile构建过程3.DockerFile的指令4.实战测试三、综合实战:制作Tomcat镜像1.准备压缩包2.编写Dockerfile... 查看详情

kaldi语音识别基础教程(代码片段)

...一个研究和使用的平台。Kaldi环境搭建本文主要通过使用Docker和Nvidia-docker构建Ubuntu环境对Kaldi进行搭建。Docker针对的是无GPU的环境,Nvidia-docker针对的是需要使用GPU计算的环境,如果读者机器上存在GPU计算资源,请使用Nvidia-docker... 查看详情

docker入门教程命令

 Docker入门教程(二)命令【编者的话】DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能。在Docker系列教程的第一篇文章中,我们了解了Docker的基础知识,... 查看详情

docker学习笔记docker基础操作实,docker仓库数据卷,网络基础学习

Docker学习笔记【3】Docker仓库实操,创建私有仓库,实操数据卷、数据卷容器,实操网络基础 ---------高级网络配置和部分实战案例学习=============================================================Docker学习笔记【1】Docker相关概念,基本操作... 查看详情

docker学习dockerfile(代码片段)

一什么是Dockerfile:   Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile     从FROM命令开始,... 查看详情

docker常用命令

最近开始学习docker,从基础开始,慢慢积累。systemctlenabledocker使docker容器可用systemctlstartdocker启动容器systemctlstopdocker停止容器servicedockerstatus查看容器状态dockerimages查看已有镜像命令dockerrun-dit-P--name名称imageid启动镜像-d表示后台-i... 查看详情

docker学习笔记-安装(代码片段)

Docker学习笔记基础概念/名词解释准备工作安装启动Docker服务Docker常用命令卸载参考资料基础概念/名词解释名词说明image镜像docker封装好的一个模板,里面是一个可运行的服务,以及运行此服务所需要的依赖环境。container... 查看详情

docker学习笔记-安装(代码片段)

Docker学习笔记基础概念/名词解释准备工作安装启动Docker服务Docker常用命令卸载参考资料基础概念/名词解释名词说明image镜像docker封装好的一个模板,里面是一个可运行的服务,以及运行此服务所需要的依赖环境。container... 查看详情

docker学习:docker基础容器构建(代码片段)

...ENAME=jammyDISTRIB_DESCRIPTION="Ubuntu22.04.1LTS"1.2.安装dockersudoaptinstalldocker#创建/etc/docker/daemon.jon文件,内容如下cat/etc/docker/daemon.json"registry-mirrors":["https://registry.docker-cn.com"]#启动dockersudosystemctlstartdocker#停止docke... 查看详情

004docker学习__dockerfile_build命令构建docker镜像(代码片段)

Dockerfile介绍  Dockerfile是一个文本文件,记录了镜像构建的所有步骤。 第一个Dockerfile,构建镜像的过程详解  用Dockerfile创建centos-vim,就是编写Dockerfile文件,在基础镜像centos:centos7.4.1708上安装vim,镜像构建的重要部分[root... 查看详情