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

Docker基础知识

文章目录

  • Docker

Docker

一次构建,处处运行,类似于JVM

虚拟机是软件+硬件(需要Hypervisors实现硬件资源虚拟化):

  • 资源占用大
  • 启动慢(虚拟机是分钟级,Docker是秒级)
  • 冗余步骤多

sha256的哈希码

:tag 表示版本标签

开发/运维(DevOps)

docker采用分层文件结构UnionFS(联合文件系统),因为存在镜像依赖,方便后期共享资源,数据持久化和容器继承

dockerfile是用来构建Docker镜像的构建文件,由一系列命令和参数构成的脚本,拥有自身的一套保留字指令

FORM
# 指出当前镜像基于什么,例如scratch就是docker中所有镜像的Base镜像(父镜像)
MAINTAINER
# 作者信息
RUN
# 构建镜像过程中所需要运行的命令
EXPOSE
# 指定容器对外暴露出的端口号
WORKDIR
# 默认登录后的操作目录(落脚点),pwd显示的目录地址
ENV
# 用来设置环境变量
COPY
# 拷贝文件
ADD
# 拷贝+处理并解压缩宿主机中的url或tar包
VOLUME
# 指定容器数据卷
CMD
# 指定容器启动时要运行的命令,可以有多个,但只有最后一个生效,会被docker run之后的参数替换
ENTRYPOINT
# 指定容器启动时要运行的命令,docker run之后的参数追加
ONBUILD
# 类似于触发器,父镜像被子镜像继承后触发相应动作
  • 编写dockerfile后重新构建生成自定义的镜像命令
docker build -f /dockerfile地址 -t tylt6688/xxx:1.0 .
  • 下载镜像
docker pull xxx 
  • 运行当前名称的镜像,本地优先
docker run
args --name="xxx"  为容器指定别名-it    以交互模式运行容器并j分配一个伪输入终端-d     以守护进程方式后台运行容器-p 8888:8080 指定(外部:内部)端口映射-P 端口随机分配,可使用ps命令查看具体外部端口-v /宿主机绝对地址:/容器内相对地址
  • 查看镜像生成的容器以及信息
docker ps
args  -a-n 3 查看最近几个
  • 验证docker版本号
docker version 
  • 安装docker当前信息
docker info    
  • docker帮助命令
docker --help
  • 列出本地镜像
docker images
args  -a-q 显示镜像id
  • 查询某个镜像
docker search xxx
  • 点赞数超过30的镜像
docker search -s 30 xxx
  • 删除镜像,删除多个镜像中间加空格
docker rmi xxx
args  -f 强制删除
  • 启动容器
docker start xxx
  • 重启容器
docker restart xxx
  • 停止容器
docker stop xxx
  • 强制关闭容器
docker kill xxx
  • 删除已停止的容器
docker rm xxx
  • 进入指定容器命令行
docker exec -it xxx /bin/bash
  • 对当前容器修改后重新打包镜像
docker commit -m="备注内容" -a="作者" containerid tylt6688/container:1.0
  • 以 Json 串的形式描述整个容器
docker inspect
  • 进入容器内部
docker attach xxx
  • 查看镜像构建历史
docker history xxx
  • 针对某个容器执行某些命令
docker exec xxx java -version
http://www.lryc.cn/news/204752.html

相关文章:

  • swoole 是什么?
  • 我想要一个勋章
  • 微信小程序设计之主体文件app-json-pages
  • C语言-面试题实现有序序列合并
  • Android12 启动页适配
  • 【微服务保护】初识 Sentinel —— 探索微服务雪崩问题的解决方案,Sentinel 的安装部署以及将 Sentinel 集成到微服务项目
  • 20231023 比赛总结
  • Vite创建vue3+ts+pinia+vant项目起步流程
  • JVM 类的加载子系统
  • 什么是1024程序员节
  • spark获取hadoop服务token
  • Simulink 最基础教程(一)
  • 微信小程序:单行输入和多行输入组件
  • 1024程序员
  • 【Segment Anything Model】八:修改SAM源码做分类任务
  • Java后端开发——实现登录验证程序
  • CSS高频面试题
  • 解决matlab报错“输入参数的数目不足”
  • 使用python_opencv比较图像差异/使用python_opencv找出两张图像的差异范围
  • NOIP2023模拟1联测22 爆炸
  • http post协议实现简单的rpc协议,WireShark抓包分析
  • 1024程序员节
  • 嵌入式--->怎样选择编译语言,C C++或是Rust?
  • 一起学数据结构(12)——归并排序的实现
  • 读书笔记之《敏捷测试从零开始》(一)
  • 视频亮度太低了,如何调高
  • Xubuntu16.04系统中安装create_ap创建无线AP
  • WPF 设置全局静态参数
  • Leetcode链表问题汇总
  • 基于卷的磁盘扫描算法设计