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

发布时间:2024年01月11日

前言

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

?

文章来源:https://blog.csdn.net/weixin_73320743/article/details/135533842
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。