当前位置: 首页 > web >正文

Docker基础(一)

Docker是什么

Docker是—个改进的容器技术。具体的“改进”体现在, Docker为容器引入了镜 像,使得容器可以从预先定义好的模版 (images)创建出来,并且这个模版还是分层的。

Docker经常被提起的特点:

  • 轻量,体现在内存占用小,高密度
  • 快速,毫秒启动
  • 隔离,沙盒技术更像虚拟机

Docker技术的基础:

  • namespace,容器隔离的基础,保证A容器看不到B容器. 6个名空间:
    User,Mnt,Network,UTS,IPC,Pid
  • cgroups,容器资源统计和隔离。主要用到的cgroups子系统:
    cpu,blkio,device,freezer,memory
  • unionfs,典型: aufs/overlayfs,分层镜像实现的基础

Docker组件:

  • docker Client客户端————>向docker服务器进程发起请求,如:创建、 停止、销毁容器等操作
  • docker Server服务器进程—–>处理所有docker的请求,管理所有容器
  • docker Registry镜像仓库——>镜像存放的中央仓库,可看作是存放二进制 的scm

Docker安装

Docker的安装非常简单,支持目前所有主流操作系统,从Mac到Windows到各种 Linux发行版
具体参考: docker安装
Docker常见命令

容器相关操作

  • docker create # 创建—个容器但是不启动它
  • docker run # 创建并启动—个容器
  • docker stop # 停止容器运行,发送信号SIGTERM
  • docker start # 启动—个停止状态的容器
  • docker restart # 重启—个容器
  • docker rm # 删除—个容器
  • docker kill # 发送信号给容器,默认SIGKILL
  • docker attach # 连接(进入)到—个正在运行的容器
  • docker wait # 阻塞到—个容器,直到容器停止运行

获取容器相关信息

  • docker ps # 显示状态为运行 (Up)的容器
  • docker ps -a # 显示所有容器,包括运行中 (Up)的和退出的(Exited)
  • docker inspect # 深入容器内获取容器所有信息
  • docker logs # 查看容器的日志(stdout/stderr)
  • docker events # 得到docker服务器的实时的事件
  • docker port # 显示容器的端口映射
  • docker top # 显示容器的进程信息
  • docker diff # 显示容器文件系统的前后变化

导出容器

  • docker cp # 从容器里向外拷贝文件或目录
  • docker export # 将容器整个文件系统导出为—个tar包,不带layers 、tag 等信息

执行

  • docker exec # 在容器里执行—个命令,可以执行bash进入交互式

镜像操作

  • docker images # 显示本地所有的镜像列表
  • docker import # 从—个tar包创建—个镜像,往往和export结合使用
  • docker build # 使用Dockerfile创建镜像(推荐)
  • docker commit # 从容器创建镜像
  • docker rmi # 删除—个镜像
  • docker load # 从—个tar包创建—个镜像,和save配合使用
  • docker save # 将—个镜像保存为—个tar包,带layers和tag信息
  • docker history # 显示生成—个镜像的历史命令
  • docker tag # 为镜像起—个别名

镜像仓库(registry)操作

  • docker login # 登录到—个registry
  • docker search # 从registry仓库搜索镜像
  • docker pull # 从仓库下载镜像到本地
  • docker push # 将—个镜像push到registry仓库中
http://www.xdnf.cn/news/12635.html

相关文章:

  • 轻量级Docker管理工具Docker Switchboard
  • python如何统计图片的颜色分布
  • jenkins gerrit-trigger插件配置
  • JVM 垃圾回收器 详解
  • C++算法训练营 Day11 栈与队列(2)
  • mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
  • 阿里云ACP云计算备考笔记 (4)——企业应用服务
  • 【MySQL】视图、用户管理、MySQL使用C\C++连接
  • 【数据结构初阶】单链表
  • Harmony核心:动态方法修补与.NET游戏Mod开发
  • Java实现飞机射击游戏:从设计到完整源代码
  • 【小红书拥抱开源】小红书开源大规模混合专家模型——dots.llm1
  • 使用WPF的Microsoft.Xaml.Behaviors.Wpf中通用 UI 元素事件
  • 从代码学习深度强化学习 - 初探强化学习 PyTorch版
  • 怎么解决cesium加载模型太黑,程序崩溃,不显示,位置不对模型太大,Cesium加载gltf/glb模型后变暗
  • 开心农场日记之~ 一颗向日葵的成长记录~
  • 基恩士X520 MC通信寄存器转换
  • 如何在软件著作权补正时查看已提交的程序鉴别材料和文档鉴别材料
  • 项目课题——功耗蓝牙(BLE)室内定位系统
  • python queue
  • Python|GIF 解析与构建(5):手搓截屏和帧率控制
  • 摆脱硬件依赖:SkyEye在轨道交通中的仿真应用
  • Python训练day40
  • 33 C 语言字符串转数值函数详解:atoi、atol、atoll、atof
  • D3.js与vue3力导向图开发全流程
  • 【机械视觉】Halcon—【八、形态学调整和生成棋盘格】
  • AI智能编码工具:阿里通义灵码使用个人版
  • 拆钢琴清理,装导电橡胶从电路板背后装好装
  • MySQL 索引优化(Explain执行计划) 详细讲解
  • 8天Python从入门到精通【itheima】-73~74(数据容器“集合”+案例练习)