容器(第一篇)docker安装、基础操作命令

news2024/9/24 15:23:49

docker是什么?

docker是一个go语言开发的应用容器引擎。

docker的作用?

①运行容器里的应用;

②docker是用来管理容器和镜像的一种工具。


容器 与 虚拟机 的区别?

容器                             虚拟机
所有容器共享宿主机内核           每个虚拟机都有独立的操作系统和内核
使用namespace隔离资源,使用cgroup限制资源的最大使用量完全隔离,每个虚拟机都有独立的硬件资源
秒级启动速度分钟级启动速度
容器相当于宿主机的进程,性能几乎没有损耗需要hypervisor虚拟机管理程序对主机资源虚拟访问,至少有20~50%资源损耗
一台主机能够支持成千上百个容器一台主机只能支持最多几十台虚拟机

docker三个核心概念:

镜像
镜像是创建容器的基础,就是一个只读的模板文件,里面包括容器里的应用程序所需要的所有内容(包括程序代码文件,配置文件,运行环境,库文件等);

容器
容器就是用镜像运行的实例,容器可以被创建、启动、停止、删除,每个容器默认是相互资源隔离的;

仓库
仓库就是用来保存镜像的地方,有公有仓库和私有仓库。

docker的安装过程:

①tar zxvf docker-19.03.9.tgz
mv docker/* /usr/bin

②cat > /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF
③安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 

设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

安装 Docker-CE并设置为开机自动启动
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker.service
systemctl enable docker.service

docker镜像操作命令:

搜索镜像:docker search 镜像关键词

拉取镜像:docker pull  镜像        #如不指定标签则使用 :latest 做默认标签

查看镜像有哪些:docker images

 修改标签:docker tag 旧镜像名:标签   新镜像名:标签

删除镜像:docker rmi 镜像名:标签

 查看镜像详细信息:docker inspect 镜像名:标签

导出镜像: save   -o  镜像文件  镜像名:标签  

 导入镜像:   load   -i   镜像文件

 登录docker仓库:login     #默认登录公有仓库

 镜像加速:

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://8flt2wqi.mirror.aliyuncs.com"] } EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

上传镜像:push  仓库/镜像名:标签

docker容器操作命令:

创建容器:docker create  [--name 容器名]  -it  镜像:标签

启动容器:docker start 容器名/容器ID

查看容器:docker ps [-a]  [-q]

停止容器:docker stop 容器名/容器ID    #kill -15

杀死容器:docker kill    容器名/容器ID     #kill -9  启动状态下才可以

删除容器:rm 容器名/容器ID        docker rm $(docker ps -a -q)  批量删除非运行中的容器

创建并运行容器:docker run -itd  [--name 容器名] [--rm] 镜像:标签  [启动容器的命令]

-i 选项表示让容器的输入保持打开;
-t 选项表示让 Docker 分配一个伪终端;

--rm:如果停止这个容器就删除。

docker run 来创建容器时, Docker 在后台的标准运行过程是:
(1)检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;
(2)利用镜像创建并启动一个容器;
(3)分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;
(4)从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;
(5)分配一个地址池中的 IP 地址给容器;
(6)执行用户指定的应用程序,执行完毕后容器被终止运行。

查看容器的详细信息:docker inspect 容器名/容器ID

进入容器:docker exec -it  容器名/容器ID  bash/sh

复制容器内容到宿主机:cp  容器ID:文件绝对路径   宿主机目录/文件

复制宿主机内容到容器:cp 宿主机目录/文件  容器ID:文件绝对路径

容器导出:docker export 容器ID/名称 > 文件名
docker export 2592d3fad0fb > centos7.tar

docker export -o centos7.tar 2592d3fad0fb

容器导入:cat 文件名 | docker import – 镜像名称:标签
cat centos7.tar | docker import - centos7:test            #导入后会生成镜像,但不会创建容器

docker import centos7.tar -- centos7:test

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/611057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AIGC大模型之——以文生图介绍

一、什么是以文生图&#xff1f; 以文生图是AIGC ( AI Generated Content &#xff09;框架中的一个关键技术&#xff0c;通过文字描述&#xff0c;将文字转化为图像并展示出来。以文生图具有白动化程度高、精度高、可扩展性强、可定制化等优势&#xff0c;具有广泛的应用前景&…

PyTorch 提示和技巧:从张量到神经网络

张量和梯度 我们将深入探讨使用 PyTorch 构建自己的神经网络必须了解的 2 个基本概念&#xff1a;张量和梯度。 张量 张量是 PyTorch 中的中央数据单元。它们是类似于数组的数据结构&#xff0c;在功能和属性方面与 Numpy 数组非常相似。它们之间最重要的区别是 PyTorch 张量…

Hadoop中HDFS概述

Hadoop概述之HDFS HDFS架构概述优缺点HDFS架构HDFS文件块大小HDFS的shell命令HDFS读写流程写数据流程 HDFS读数据流程NameNode 和 SecondaryNameNode工作机制DataNode工作机制DataNode数据完整性如何保证 端口名称Hadoop2.xHadoop3.xNameNode内部通信端口8020/9000NameNode HTT…

【STM32单片机】基于语音识别的智能分类垃圾桶,ld3320语音识别模块如何使用,mp3播放模块如何使用

文章目录 需求语音识别模块MY1690 播放模块舵机源码 需求 对于“可回收物”“有害垃圾”“厨余垃圾”“其它垃圾”&#xff0c;不能分清扔到哪个垃圾桶怎么办&#xff1f; 基于语音识别的智能分类垃圾桶&#xff0c;识别到关键词就打开对应的垃圾桶&#xff0c;完全没有分不清…

echarts中彻底清除所有实例和相关数据

单个实例 dispose销毁实例&#xff0c;销毁后实例无法再被使用。 myChart.dispose();实例比较多的时候 获取Dom元素 let doms document.getElementsByClassName(my-chart)销毁所有实例 if(doms && doms.length) {for (let i 0; i < doms.length; i) {let chartIn…

Jumpserver 2.28.8使用分享

目录 一、Jumpserver 介绍 1、跳板机和堡垒机理解 1.1、跳板机 1.2、堡垒机 2、jumpserver简介 二、Jumpserver 安装部署 2.1、部署规划 2.2 、安装要求 JumpServer 环境要求: 2.3、安装方法介绍 官方提供了多种安装方法 三、Jumpserver平台使用 3.1、Admin登录 3.…

bug(Tomcat):StandardContext.startInternal 由于之前的错误,Context[/day01]启动失败

引出 项目启动失败&#xff0c;一个困扰了一上午的bug 报错信息 org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 org.apache.catalina.core.StandardContext.startInternal 由于之前的错误…

骨传导是哪个意思,推荐几款性能优的骨传导耳机

​骨传导耳机是通过头部骨迷路传递声音&#xff0c;而不是直接通过耳膜的振动来传递声音。与传统的入耳式耳机相比&#xff0c;骨传导耳机不会堵耳朵&#xff0c;在跑步、骑车等运动时可以更好的接收外界环境音&#xff0c;保护听力&#xff0c;提升安全性。此外&#xff0c;骨…

图解LeetCode——114. 二叉树展开为链表

一、题目 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。 二…

公式+ChatGPT:为你的标题创作注入新鲜活力

大家是不是经常遇到文章已经写好了&#xff0c;但是标题却还空着&#xff0c;不是不会写&#xff0c;就是写得平淡无奇&#x1f602;。自己都觉得无趣的标题又怎么能吸引有趣的灵魂呢&#xff1f;何不让chatGPT来试试呢&#xff1f; 首先&#xff0c;我们要明白一个基础理念&am…

微软 AD 已成过去式,这个身份领域国产化替代方案你了解吗?

随着全球互联网和数字化浪潮的不断发展&#xff0c;信息安全已成为不可忽视的问题&#xff0c;并随着日益复杂的国内外市场格局&#xff0c;其重要性更加凸显。我国政府也相继印发和实施了《数字中国建设整体布局规划》、《全国一体化大数据体系建设指南》等一系列政策&#xf…

【JavaEE】Servlet的API详解

Servlet的API详解O(∩_∩)O~&#xff1a; 文章目录 JavaEE & Servlet的API详解1. HttpServlet抽象类1.1 init方法1.2 destroy方法1.3 service方法 2. HttpRequest接口2.1 在浏览器上显示请求首行2.2 在浏览器上显示请求header2.3 getParameter方法 - 最常用的API之一2.4 js…

Stable Didffusion 学习笔记经验总结

值的概念 在Stable Diffusion中&#xff0c;有很多要设置的参数&#xff0c;这些参数起到的作用非常重要&#xff0c;直接决定了出图的各种样子和质量&#xff0c;经过实践&#xff0c;我大概搞明白他们遵循的规律&#xff0c;因为程序员是要与AI对话的&#xff0c;所以所谓的…

【CMake 入门与进阶(3)】 CMakeLists.txt 语法规则基础及部分常用指令(附使用代码)

在上两篇中&#xff0c;笔者通过几个简单地示例向大家演示了 cmake 的使用方法&#xff0c;由此可知&#xff0c;cmake 的使用方法其实还是非常简单的&#xff0c;重点在于编写 CMakeLists.txt&#xff0c;CMakeLists.txt 的语法规则也简单&#xff0c;并没有 Makefile 的语法规…

操作系统复习2.3.4-进程同步问题

生产者-消费者 系统中有一组生产者进程和一组消费者进程 两者共享一个初始为空&#xff0c;大小为n的缓冲区 缓冲区没满&#xff0c;生产者才能放入 缓冲区没空&#xff0c;消费者才能取出 互斥地访问缓冲区 互斥要在同步之后&#xff0c;不然会导致想要同步&#xff0c;但由…

39从零开始学Java之面向对象的继承到底是怎么回事?

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在上一篇文章中&#xff0c;壹哥给大家讲解了面向对象三大特征之一的封装&#xff0c;现在我们还有另…

JWT strings must contain exactly 2 period characters. Found: 0

登录接口异常报错&#xff1a; 这是登录接口报错&#xff0c;实际上他不走登录接口&#xff0c;直接走的拦截器&#xff0c;拦截器应配置好了登录接口的放行&#xff0c;登录接口写的也没有问题&#xff0c;拦截器解析也没有问题&#xff0c;因为之前都是好用的&#xff0c;本…

人车网租赁软件开发|人车网租赁系统|租赁系统源码功能

经过租赁小程序不只可以使物品得到充沛的运用&#xff0c;还能减少一些资源的浪费&#xff0c;租赁行业这两年因为互联网技术的完善&#xff0c;发展也在不断进步&#xff0c;租赁系统定制开发功能也在不断完善&#xff0c;那么企业想要开发租赁小程序的时分需求留意哪些方面呢…

深入了解Java虚拟机之高效并发

目录 Java内存模型与线程 概述 硬件的效率与一致性 Java内存模型 主内存与工作内存 内存间交互操作 对于volatile型变量的特殊规则 原子性、可见性与有序性 先行发生原则 Java与线程 线程实现 线程调度 状态切换 小结 线程安全与锁优化 概述 线程安全 Java中…

HDR显示技术

什么是HDR? HDR&#xff08;High-Dynamic Range&#xff0c;简称HDR&#xff09;是指高动态范围图像&#xff0c;是一种能够显示更大的亮度范围和对比度的图像技术。HDR可以让暗部的细节变亮&#xff0c;亮部的细节不失真&#xff0c;呈现出更自然、更真实的画面&#xff0c;…