Docker的介绍及安装基本操作命令

前言

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),所以本次教程也是基于社区版CE

一.Docker的介绍

1.虚拟机与容器的区别

在讲到Docker之前,我们先了解虚拟机与容器之间的区别

VM(VMware) 在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓
库,然后再安装应用;
Container(Docker 容器 ) ,在宿主机器、宿主机器操作系统上创建 Docker 引擎,在引擎的基础上再安装
应用。
特性
                        容器        虚拟机
启动钟级
使用一般MB一般GB
性能接近原生弱于
支持量机支持上千个容器一般几十个

2.Docker三要素

2.1 Docker镜像

Docker 镜像就是一个只读的模板。
例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它
应用
程序。
镜像可以用来创建 Docker 容器。
Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载
个已经做好的镜像来直接使用。

2.2 Docker仓库

仓库是集中存放镜像文件的场所。
有时候会把仓库和仓库注册服务器( Registry )混为一谈,并不严格区分。实际上,仓库注册服务器上
往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的
标签( tag )。
仓库分为公开仓库( Public )和私有仓库( Private )两种形式。
最大的公开仓库是 Docker Hub ,存放了数量庞大的镜像供用户下载。
当然,用户也可以在本地网络内创建一个私有仓库。
当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一
机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

2.3 Docker容器

Docker 利用容器来运行应用。
容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安
的平台。
可以把容器看做是一个简易版的 Linux 环境(包括 root 用户权限、进程空间、用户空间和网络空间等)
和运
行在其中的应用程序。

3.Docker的优点

Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

4.为什么使用Docker

首先, Docker 容器的 启动 可以在秒 级实现 相比 传统 的虚 机方式要快得多。 其次, Docker 统资
源的利用率很高,一台主机上可以同 时运 行数千个 Docker 容器。
容器除了 行其中 用外,基本不消耗 外的系 统资 源,使得 用的性能很高,同 的开 尽量小。
传统 机方式 10 个不同的 用就要起 10 个虚 机,而 Docker 只需要 启动 10 个隔离的 用即可。

二.Docker的安装

yum配置阿里云镜像源
1.备份源repo文件

cd /etc/yum.repos.d
mkdir bak
mv *.repo bak/

2.获取阿里云镜像源文件

cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/repo/Centos-7.repo

如果wget命令不存在,执行yum install wget,重新执行以上命令。

3.使用镜像文件

yum clean all
yum makecache

4.配置阿里云Docker Yum

yum - config - manager -- add - repo http://mirrors.aliyun.com/docker- ce/linux/centos/docker - ce.repo

5.更新yum缓存(一定要更新缓存之后再进行安装)

yum makecache fast

6.安装docker-ce

yum - y install docker - ce

三.配置加速器

由于普通的下载镜像速度很慢所以我们可以配置阿里云为我们提供的镜像下载加速器

登录后进入我们的控制台

 依次点击找到容器镜像服务ACR

 进入后找到镜像加速器,将代码复制到命令行镜像配置

 配置好后可以通过命令进行查看

cat /etc/docker/daemon.json

四.拉取镜像

在后面可以指定版本号,默认去掉:和版本号就是拉取最新,这里默认拉取最新

 docker pull nginx:(版本号)

查看当前容器中的镜像

docker images

删除容器 

docker rmi centos

docker rmi -f centos:latest

如果提示镜像被使用,需要先停止某个ID的容器,那么要先删除容器再删除镜像。或者强制删除镜像。 正确做法:先删除依赖该镜像的所有容器, 再来删除镜像 

五.关于容器

1.容器的创建

docker create -it centos:latest

docker create -it --name centos01 centos:latest

centos:latest 即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。

另外,Docker会检查本地是否 存在指定的镜像, 不存在就从公有仓库下载 -it:是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端 --name:指定生成的容器的名字,允许空,如果不指定会自动生成

 2.容器的服务启动关闭及重启

docker start 容器ID|name|name:tag

docker stop 容器ID|name|name:tag

docker restart 容器ID|name|name:tag

3.查看容器

docker ps

docker ps -a 

4.删除容器

docker rm 容器ID

docker rm -f 容器ID 

5.进入容器

docker exec -it 容器ID/容器NAME /bin/bash

docker exec -it 容器ID/容器NAME bash (简写) 

6.退出容器

退出时如果想继续运行容器:按顺序按【ctrl+p】,【ctrl+q】 如果不想继续运行:按【ctrl+d】或输入exit 

注意点 

 在操作容器时,需要在当前docker镜像的目录下才能进行操作

六.Docker基本命令操作

1.关于服务

2.1查看服务状态

systemctl status docker

2.2 服务的开启与暂停及重启

systemctl start docker

systemctl stop docker

systemctl restart docker 

2.3 设置开启或关闭服务开机自启 

systemctl enable docker

systemctl disable docker

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每日一题】2696. 删除子串后的字符串最小长度-2024.1.10

题目: 2696. 删除子串后的字符串最小长度 给你一个仅由 大写 英文字符组成的字符串 s 。 你可以对此字符串执行一些操作,在每一步操作中,你可以从 s 中删除 任一个 "AB" 或 "CD" 子字符串。 通过执行操作&#xff0c…

NLP论文阅读记录 - wos | 01 使用深度学习对资源匮乏的语言进行抽象文本摘要

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 Abstractive text summarization of lowresourced languages usi…

Netty通信中的粘包半包问题(一)

前言 我们在日常开发过程中,客户端和服务端的连接大多使用的是TCP协议,因为我们要保证数据的可靠传输, 当网络中出现丢包时要求,要求数据包的发送端重传给接收端。而TCP是一种面向连接的传输层协议, 当使用TCP进行传输时&#xf…

Python 基础【八】--数据类型-字典【2024.1.11】

1.定义 字典的内容在花括号 {} 内,键-值(key-value)之间用冒号 : 分隔,键值对之间用逗号 , 分隔,比如创建字典 ,如下所示: d{name:小明,age:18}# 使用 dict 函数:强转 # 方式一&am…

034 - STM32学习笔记 - TIM定时器(三) - 高级定时器2

034 - STM32学习笔记 - TIM定时器(三) - 高级定时器2 哥们最近搞了个公众号,后面的文章会同步在公众号上发布,各位看官帮忙点点关注,后续一些其他方面的学习内容也会在公众号上发布,有兴趣的可以看看哟&…

SPI协议的4种模式

https://blog.csdn.net/buhuidage/article/details/121180622 MODE0 MODE3

人生重开模拟器(c语言)

前言: 人生重开模拟器是前段时间非常火的一个小游戏,接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏: 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 (1) 游戏开始的时…

浅谈WPF之Popup弹出层

在日常开发中,当点击某控件时,经常看到一些弹出框,停靠在某些页面元素的附近,但这些又不是真正的窗口,而是页面的一部分,那这种功能是如何实现的呢?今天就以一个简单的小例子,简述如…

FineBI实战项目一(14):订单销售总数分析开发

点击添加组件按钮,打开组件页面。 设置组件的属性,比如图标样式,指针值,目标值、颜色、大小、标签等。 点击下方切换到仪表盘。 点击仪表板中的左上方组件,添加组件到仪表盘。 编辑标题 第一个组件成功添加到仪表板。

生骨肉冻干推荐测评|希喂、VE、百利、PR等多款热门生骨肉冻干测评

随着养猫的观念逐渐科学化,越来越多的铲屎官开始关注猫咪主食的健康和营养问题。 冻干因其模拟猫咪原始捕猎猎物模型配比、低温加工的特点,被认为是最符合猫咪饮食天性的选择。 相比传统的膨化猫粮,生骨肉冻干中的淀粉和碳水化合物添加较少…

AIGC大模型必备知识——LLM ,你知道它是如何训练的吗?小白必读深度好文

Look!👀我们的大模型商业化落地产品📖更多AI资讯请👉🏾关注Free三天集训营助教在线为您火热答疑👩🏼‍🏫 近年来,人工智能(AI)领域经历了令人瞩目…

Rust类型之字符串

字符串 Rust 中的字符串类型是String。虽然字符串只是比字符多了一个“串”字,但是在Rust中这两者的存储方式完全不一样,字符串不是字符的数组,String内部存储的是Unicode字符串的UTF8编码,而char直接存的是Unicode Scalar Value…