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
注1:配置完yum源之后更新yum缓存
yum makecache fast
注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-版本号
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":["你的阿里云专属加速器地址"] //在阿里云里获取
}
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