Docker容器的概念

什么是Docker容器?

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

Docker容器的三要素

  • Docker镜像(image)
  • Docker仓库(repository)
  • Docker容器(container)

Docker镜像

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

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

镜像可以用来创建 Docker 容器。

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



Docker仓库

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

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

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

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

Docker 当然,用户也可以在本地网络内创建一个私有仓库。

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

Docker容器

Docker 利用容器来运行应用。


容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。


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




Docker的安装

1、检查内核版本大于3.10即可

uname -r

2、更新yum包(确保yum是最新版本)

yum check-update

3、卸载可能存在的旧版(如果安装过旧版的话)

yum remove docker \
                    docker-client \ 
                    docker-client-latest \ 
                    docker-common \ 
                    docker-latest \ 
                    docker-latest-logrotate \ 
                    docker-logrotate \ 
                    docker-engine

4、安装所需的系统工具

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

5、配置yum源(docker-ce或者阿里云Docker Yum都可以)

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

Linux监控docker里的容器 linux docker容器_linux

 

注1:配置完yum源之后更新yum缓存

yum makecache fast

Linux监控docker里的容器 linux docker容器_Docker_02

 

注2:如果发现yml.pid被占用删除即可

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

6、安装docker-CE

1、默认安装最新版本
    yum -y install docker-ce

2、查看版本列表请使用如下命令:
    yum list docker-ce --showduplicates | sort -r

3、如果要安装特定版本的docker-CE请使用如下命令格式
    yum install docker-ce-版本号

Linux监控docker里的容器 linux docker容器_Docker_03

 8、查看是否安装成功

docker version

Docker基本使用

1、查看服务状态

systemctl status docker

2、启停服务

systemctl start docker //启动服务
systemctl stop docker  //关闭服务
systemctl restart docker//重启服务

3、开启自启(安装时默认开启)

systemctl enable docker //开启自启
systemctl disable docker//关闭自启

4、配置阿里巴巴加速器(默认使用 Docker Hub 公共注册服务器中的仓库)

     vi daemon.json里输入

vi /etc/docker/daemon.json


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

Linux监控docker里的容器 linux docker容器_docker_04

5、重新加载daemo

systemctl daemon-reload

6、重启docker

systemctl restart docker

7、下载镜像

docker pull 镜像名 
获取一个 centos 系统的基础镜像可以使用如下的命令: 
docker pull centos (未指定版本一般会使用latest(最新的)版本) 
docker pull centos:版本号 (或者直接指定版本)

8、查看主机上的镜像

docker images

9、删除镜像

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