Docker基本管理
1. Docker的概述
1.1 Docker是什么?
●是一种轻量级的“虚拟机”
●在Linux容器里运行应用的开源工具
两大生态圈
OpenStack – 虚拟机
kubernetes – 容器
虚拟机就相当于window上面的进程
虚拟机系统之间是相互独立的
虚拟机调用系统底层硬件驱动
1.2 Docker与虚拟机的区别
虚拟机 容器
资源 资源多 资源少
开启时间 30-60秒 毫秒
安全 系统隔离 内核共享
弹性拓展 执行时间长 执行时间短
1.3 Docker的使用场景
●打包应用程序简化部署●可脱离底层硬件任意迁移
●例:服务器从腾讯云迁移到阿里云
注意点:
云计算:客户可以使用网络灵活的获取计算机资源池(CPU,内存,存储,带宽等)中的资源,具备弹性伸缩和按量计费的特点云计算提供的是服务
弹性伸缩解决是最终成本问题
1.4 Docker核心概念
●镜像
一个面向Docker容器引擎的只读模板
●容器
从镜像创建的运行实例
●仓库
集中保存镜像的地方
1.5 CentOs安装Docker的两种方式
●使用CURL获得Docker的安装脚本进行安装
●使用YUM仓库来安装Docker
2. 安装Docker
2.1 安装依赖包
yum -y install yum-utils device-mapper-persisiter-data lvm2 ##lvm2 支持逻辑卷
#yum-utils提供了yum-config-manager
#device mapper存储驱动程序需要device-mapper-persistent-data和 lvm2
#Device Mapper是 Linux2.6内核中支持逻辑卷管理的通用设备映射机制,
它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
2.2 设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.3 安装Docker-ce
yum -y install docker-ce ##社区版
systemctl start docker.service ##开启docker
systemctl enable docker.service ##永久自启
--------镜像加速--------------------------
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://#######.mirror.aliyuncs.com"]
}
EOF
systemctl restart docker.service ##重新启动docker
systemctl daemon-reload ##重新加载守护进程
获取镜像加速具体流程:打开浏览器,搜索阿里云,打开
登录阿里云官网,打开控制台
搜索容器镜像服务,点开进入,如果没有注册的话,设置一下密码就可以了
点开镜像加速器,就可以看见你自己的镜像加速了
--------网络优化-----------
vim /etc/sysctl.conf
net.ipv4.ip_forward=1 ##路由转发功能
[root@localhost docker]# sysctl -p ##刷新一下
net.ipv4.ip_forward = 1
[root@localhost docker]# systemctl restart network ##重启网络服务
[root@localhost docker]# systemctl restart docker.service ###重启docker
3 Docker基础使用
3.1 镜像操作
查看镜像列表
[root@localhost docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
查看容器
[root@localhost docker]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
docker版本信息
[root@localhost docker]# docker version
Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:03:45 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:21 2020
OS/Arch: linux