Docker安装部署及基本管理

一、docker简介

(1)、 docker通过内核虚拟化技术(namespace及cgroups等)来提供容器的资源隔离与安全保障等,由于docker通过操作系统层的虚拟化实现隔离,所以docker容器在运行时,不需要类似虚拟机额外的操作系统开销,提供资源利用率
(2)、Docker核心组件
镜像、容器、仓库

二、docker vs kvm

Docker安装部署及基本管理_第1张图片

类别 Docker KVM/OpenStack
部署难度 非常简单 组件多,部署复杂
启动速度 秒级 分钟级
执行性能 和物理系统几乎一样 VM会占用一些资源
镜像体积 镜像是MB级别 虚拟机镜像GB级别
管理效率 管理简单 组件相互依赖,管理复杂
隔离性 隔离性高 彻底隔离
可管理性 单进程、不建议启用SSH 完整的系统管理
网路连接 比较弱 借助Neutron可以灵活组件各类

三、Docker引擎

Docker 引擎是具有以下组件的客户端-服务器应用程序:

  • 一种称为守护进程的长时间运行的程序
  • 一个Rest API,它指定程序可以用来与守护进程通信的接口,并指示它应该做什么
  • CLI(命令行界面)客户端

Docker安装部署

1、安装所需的依赖包

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

安装阿里云镜像源

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

2、安装Docker-ce

yum install docker-ce -y

启动服务

systemctl start docker.service
systemctl enable docker.service

3、现在使用Docker下载Nginx

docker pull nginx

4、下载的时候发现速度非常慢,这时我们可以使用镜像加速

tee /etc/docker/daemon.json <<-'EOF'
{
   "registry-mirrors": ["https://05vz3np5.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload  
systemctl restart docker //重新启动Docker

Docker镜像操作

搜索镜像

docker sreach nginx

Docker安装部署及基本管理_第2张图片

  • NAME:镜像名称
  • DESCRIPTION :描述
  • STARS:星际(星级越高代表该镜像越受欢迎)
  • OFFICIAL :是否官方创建
  • AUTOMATED:是否主动创建

下载镜像
命令格式:docker pull 仓库名称[:标签]

docker pull nginx

查看镜像

命令语法:docker images 仓库名称:[标签]

docker images

在这里插入图片描述用户还可以根据镜像的唯一标识ID号,获取镜像详细信息
命令格式:docker inspect 镜像ID

docker inspect 231d40e811cd

Docker安装部署及基本管理_第3张图片
添加新标签

命令格式:docker tag 名称:[标签]新名称:[新标签]

 docker tag nginx:latest nginx:web

Docker安装部署及基本管理_第4张图片删除镜像

命令格式:docker rmi 仓库名称:标签

docker rmi nginx:web

Docker安装部署及基本管理_第5张图片存出镜像

命令格式:docker save -o 存出文件名 存出的镜像

docker save -o nginx nginx:latest

在这里插入图片描述
存入镜像

命令格式:docker load < 存出的文件 & docker --input 存出的文件

这里需要开启另外一台Docker,使用SCP将本地节点远程复制到另外一台Docker上

 docker load < nginx

Docker安装部署及基本管理_第6张图片

Docker容器操作

容器的创建

命令格式:docker create [选项] 镜像 运行的程序

docker create -it nginx:latest /bin/bash

docker ps -a //查看所有容器的运行状态

在这里插入图片描述启动Docker容器

命令格式:docker start 容器ID/名称

docker start 8bd0b7727b12

可以看到容器状态栏已变成UP状态
在这里插入图片描述如果想创建并启动容器,可以执行docker run 命令,等同于执行docker create命令,再执行docker start命令。需要注意只要后面的命令运行结束,容器就会停止

docker run centos /usr/bin/bash -c ls  

Docker安装部署及基本管理_第7张图片
在这里插入图片描述
容器的进入和退出

命令格式:docker exec -it +id /bin/bash

[root@localhost docker]# docker exec -it 4035586d5d5c /bin/bash  //进入
[root@4035586d5d5c /]# exit   //退出
exit

容器的导入

命令格式:docker export 容器ID/名称 >文件名

docker export 4035586d5d5c > centos01

Docker安装部署及基本管理_第8张图片
容器导出

cat 文件名|docker import -生成的镜像名称:标签

cat centos01 | docker import - centos:web

Docker安装部署及基本管理_第9张图片
删除容器

dokcer rm 容器ID/名称

 docker rm 1270c5cfc110
docker ps -a | awk '{print "docker rm "$1}'| bash

你可能感兴趣的:(Docker)