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

2023.2.10学习记录Docker容器

Docker  必须跑在Linux内核上  

镜像是一个轻量级可执行的独立软件包

新建一个docker容器只需要几秒钟

 Docker常用命令

启动类命令 镜像命令  容器命令

docker images          docker search --limit 5 redis    docker pull redis:6.0.8

docker system df 查看镜像/容器/数据卷所占的空间

删除镜像  rmi

 删除所有镜像 docker rmi -f S(docker images -qa)

每个容器其实就是一个简易版的Linux环境

  • 新建+启动容器
    • docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    • 例子:docker run -it --name=myu1 ubuntu bash
    • 上面这个例子这条命令可以交互式运行一个钨棒图容器 名字取为 myu1

  -i  是interactive   t是tty

-it可以交互式运行  表示我在centos中使用docker容器跑了一个Ubantu

docker ps 可以查看什么时候启动过什么容器 罗列出正在运行的容器实例

 从容器中退出 exit 容器会停止     ctrl +p+q退出但容器不停止

注意 rmi是删除镜像   而 rm是删除容器    大概是removeImage和remove的意思

守护式容器:

使用镜像centos:latest以后台模式启动一个容器

docker run -d centos   很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程.

最佳的解决方案是,将你要运行的程序以前台进程的形式运行,

常见就是命令行模式,表示我还有交互操作,别中断,O(∩_∩)O哈哈~

查看容器日志:docker logs 容器ID

重新进入正在运行的容器实例

 使用exec重新进入容器的bash后   使用exit退出是不会终止该容器的

如果使用 attach进入的话  使用exit退出是会终止该容器的 尽量别用

对比 新技术  云原生  容器化

可以将容器上的文件拷贝到主机路径中

还可以将容器中的内容打包导入导出到主机上

联合文件系统  镜像分层的意义是下载简单  可复用

镜像分层最大的一个好处就是共享资源,方便复制迁移,就是为了复用。

比如说有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。

关于容器层与镜像层

 

 可以将容器提交为镜像:例子 首先用一个容器安装好原本没有的vim包 然后将其提交到镜像中  再通过镜像打开容器来使用  

vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi iMproved),与vi编辑器完全兼容,而且实现了很多增强功能。

关于镜像分层的总结:

本地镜像发布到阿里云:

只需要按照阿里云的提示一步步来即可

将镜像下载到本地也很简单 只需要一条命令:

docker pull registry.cn-hangzhou.aliyuncs.com/xyp_images/dockerrepo:[镜像版本号]

私有库(自己个人的库)下载 :docker pull registry   相当于本地有个私有的Docker Hub 具体的看操作文档 详细说了如何推送本地仓库中的内容到阿里云上

关于docker容器数据卷:启用了数据卷的容器实例他的数据会保存在宿主机的某个磁盘中

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:

卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷

关于挂载:容器可以将一些配置信息挂载到宿主机上 

 

 

 

 

 

 

http://www.lryc.cn/news/1185.html

相关文章:

  • 扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码
  • pytorch
  • 软件测试—对职业生涯发展的一些感想
  • 5年经验之谈:月薪3000到30000,测试工程师的变“行”记!
  • 全价值链赋能,数字化助力营销价值全力释放 | 爱分析报告
  • 【自学Docker 】Docker search命令
  • 银行零售如何更贴近客户?是时候升级你的客户旅程平台了
  • 零入门kubernetes网络实战-12->基于DNAT技术使得外网可以访问本宿主机上veth-pair链接的内部网络
  • conda环境管理命令
  • ubuntu clion从0开始搭建一个风格转换ONNX推理网络 opencv cuda::dnn::net
  • 1.十大排序算法
  • 算法导论—SAT、NP、NPC、NP-Hard问题
  • linux入门---基础指令(上)
  • 大数据Kylin(一):基础概念和Kylin简介
  • 推进行业生态发展完善,中国信通院第八批RPA评测工作正式启动
  • DOM编程-获取下拉列表选中项的value
  • 认证服务-----技术点及亮点
  • 6个常见的 PHP 安全性攻击
  • 三大基础排序算法——冒泡排序、选择排序、插入排序
  • 负载均衡上传webshell+apache换行解析漏洞
  • 【ESP 保姆级教程】玩转emqx数据集成篇③ ——消息重发布
  • 支持分布式部署的主流方式 - Session 持久化到 Redis
  • 计算机网络|第二章 物理层|湖科大课程|从零开始的计网学习——物理层(计网入门就看这篇!)
  • 【微服务】RabbitMQSpringAMQP消息队列
  • jenkins +docker+python接口自动化之docker下安装jenkins(一)
  • SpringBoot——Banner介绍
  • 【STL】综述
  • C++中编译的静态库与动态库
  • JS对象到原始值的转换
  • 深度复盘-重启 etcd 引发的异常