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
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/84647a0444.html
