Docker.概述与安装

Docker是近年来新兴的虚拟化工具,它可以和虚拟机一样实现资源和系统环境的隔离。

目录

Docker三要素

Docker镜像

Docker仓库

Docker容器

Docker安装

Docker基本使用    基本操作

仓库+镜像 容器


虚拟机与容器的区别

机器VM(VMware)在宿主机器、宿主操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓库,然后再安装应用;

Container(Docker容器),在宿主机器、宿主机器操作系统上创建Docker引擎,在引擎的基础上再安装应用。 

Docker三要素


Docker镜像

Docker 镜像就是一个只读的模板。

例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它 应用 程序。 镜像可以用来创建 Docker 容器。

Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载 一 个已经做好的镜像来直接使用。

Docker仓库

仓库是集中存放镜像文件的场所。

有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上 往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的 标签(tag)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。

当然,用户也可以在本地网络内创建一个私有仓库。 当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一 台 机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

Docker容器

Docker 利用容器来运行应用。

容器是从镜像创建的运行实例。

它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安 全 的平台。

可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等) 和运 行在其中的应用程序。


1. 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境

2. 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容

3. 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构


Docker安装

Docker支持运行CentOS版本:CentOS 7.X

内核版本检查: uname -r

卸载可能存在的旧版本

yum remove docker \                

docker-client \                

docker-client-latest \                

docker-common \                

docker-latest \                

docker-latest-logrotate \                

docker-logrotate \                

docker-engine

旧版本的docker叫做docker或者docker-engine,如果有安装,先卸载其以及其依赖,新版本的

docker叫做docker-ce docker-ce(社区版,免费)

docker-ee(专业版,收费)

安装必要的系统工具:

yum install -y yum-utils device-mapper-persistent-data lvm2

添加docker-ce安装源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

配置阿里云Docker Yum源:

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

更新yum缓存:

yum makecache fast

yml.pid占用:

这里如果执行不了就下一条命令

-- rm -f /var/run/yum.pid

安装docker-CE:

yum -y install docker-ce

1)默认安装的是最新版本的稳定版

2)查看版本列表请使用如下命令:

yum list docker-ce --showduplicates | sort -r

3)如果要安装特定版本的docker-CE请使用如下命令格式:

yum install docker-ce


Docker基本使用


基本操作

查看服务状态:

systemctl status docker

启停服务:

systemctl start docker  启动服务

systemctl stop docker  停止服务

systemctl restart docker 重启服务

开机自启:

systemctl enable docker

systemctl disable docker


仓库+镜像

Docker 运行容器前需要本地存在对应的镜像, 如果镜像不存在, Docker 会尝试先从默认镜像仓库下 载 (默认使用 Docker Hub 公共注册服务器中的仓库), 用户也可以通过配置,使用自定义的镜像仓库

配置加速器(通过阿里云控制台获得加速地址)

搜索阿里云用支付宝登陆,左上角控制台->搜索容器镜像服务->镜像工具->镜像加速器->加速器地址

vi /etc/docker/daemon.json

{    "registry-mirrors":["你的阿里云专属加速器地址"]

}

重新加载daemon

systemctl daemon-reload

搜索镜像

docker search 镜像名称

下载镜像

docker pull 镜像名 获取一个 centos 系统的基础镜像可以使用如下的命令:        

docker pull centos (未指定版本一般会使用latest(最新的)版本)

docker pull centos:版本号 (或者直接指定版本)

查看宿主机上的镜像


docker images

查看image位置

cd /var/lib/docker/containers (/var/lib/docker为docker默认安装目录) && ll

docker rmi 镜像ID/标签

docker rmi centos

docker rmi -f centos:latest

如果提示镜像被使用,需要先停止某个ID的容器,那么要先删除容器再删除镜像。或者强制删除镜像。

正确做法:先删除依赖该镜像的所有容器, 再来删除镜像


容器

容器是Docker的另一个核心概念。简单来说,容器是镜像的一个运行实例。 镜像是静态的只读文件,而容器带有运行时需要的可写文件层,同时,容器中的应用进程处于运行状态

  创建容器

docker create -it centos:latest        

docker create -it --name centos01 centos:latest

       

centos:latest 即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。另外,Docker会检查本地是否 存在指定的镜像, 不存在就从公有仓库下载

       

-it:是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端

       

--name:指定生成的容器的名字,允许空,如果不指定会自动生成

启动、停止、重启容器

docker start 容器ID|name|name:tag

docker stop 容器ID|name|name:tag

docker restart 容器ID|name|name:tag

查看当前的容器

docker ps

docker ps -a

删除容器

docker rm 容器ID

docker rm -f 容器ID

   

进入容器

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

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

退出容器

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

多加练习


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值