docker及安装

  • Docker容器引擎基础
  • 基于dockerfile构建镜像应用
  • docker网络模型详解docker compose
  • 企业级仓库harbor高可用方案
  • 构建docker容器监控系统
  • docker+consul+Registrator实现服务注册与发现

docker容器引擎基础

docker是容器的管理工具

  • 客户(老板)-产品-开发-测试-运维-->项目周期不断延后,项目质量越差
  • DevOps思想:开发运营,能够让多个部门高效工作密切的合作。
  • 开发(Dev)测试(Test)预上线(UAT)生产环境(Pro)
  • docker是在linux容器里运行应用的开源容器管理工具 ,可以理解为轻量级的虚拟机,国内15年开始兴起,基于Go语言开发。
  • Docker由DotCloud公司后改名为Docker lnc。Google也在器PaaS产品中广泛使用。
  • 官网:https://www.docker.com/
  • 云计算三种模型:is基础建平台设施即服务(云计算将平台已经部署),ps平台即服务(更适合于开发只需要开发使用),as所有及服务(基本所有都能解决)。

docker

  • docker在linux原有的lxc技术的基础上进行二次封装
  • docker宗旨:Build,Ship and Run Any App,Anywher.(通过一次构建能形成一次运行环境)

容器对比传统虚拟化

第一个:容器,第二个:虚拟化

  • 虚拟化:地层硬件支撑,做虚拟化,虚拟出硬件资源,做操作系统,在系统上跑服务(占用大量服务器硬件资源浪费)
  • 容器:中低层硬件上运行操作系统,系统上运行Docker引擎,可以隔离运行容器(提高资源利用率)
  • 对比:

Docker使用场景及其优点

  • Docker因体积较小,更适合迁移(简化了重新部署,调试等)。

  • 快速的交付和部署:也可以认为迁移,docker快速创建容器,快速迭代应用程序,且透明。

  • 更高效的虚拟化

  • 更轻松的迁移和扩展

  • 简单的管理

docker的概念

  • 镜像(image):类似于虚拟机的快照(已经装好的环境,可以直接使用,不能改变,但是可以不断的堆积更新。),可以理解为一个面向docker容器引擎的只读模板。

  • 容器(container):是镜像创建的运行实例(可以开启,使用,停止,删除等),可以理解为一个简易的虚拟机。docker容器用来运行和隔离应用地方

  • 仓库(repository):是集中存放镜像的地方,仓库有一个仓库注册器(Registry),里面有很多的仓库,而仓库里有很多的镜像。但是镜像名字可以一样,标签(tag)不同。
    仓库分为公开仓库(Public)和私有仓库(Private),最大的公开仓库就是Docker Hub(https://hub.docker.com/)。

Docker安装

  • Docker支持所有主流的操作系统平台上使用。
  • Docker发行版本:Docker-EE 企业版 , Docker-CE 社区版
  • CentOs系统下可以使用Docker官网curl安装,或者yum安装
#使用yum源安装(不建议)
#关闭防火墙三件套,确认网络使用
[root@server01 ~]# iptables -F
[root@server01 ~]# setenforce 0
setenforce: SELinux is disabled
[root@server01 ~]# systemctl stop firewalld
[root@server01 ~]# ping www.baidu.com

[root@localhost yum.repos.d]# ls  #查看网络源
bak  CentOS-Base.repo  CentOS-Media.repo
yum clean && yum makecache
yum -y install docker  #安装

systemctl start docker  #开启
systemctl enable docker  #设置开机自启

[root@localhost ~]# docker version  #查看docker版本信息
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-208.git7d71120.el7_9.x86_64
 Go version:      go1.10.3
 Git commit:      7d71120/1.13.1
 Built:           Mon Jun  7 15:36:09 2021
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-208.git7d71120.el7_9.x86_64
 Go version:      go1.10.3
 Git commit:      7d71120/1.13.1
 Built:           Mon Jun  7 15:36:09 2021
 OS/Arch:         linux/amd64
 Experimental:    false

#安装docker-CE
#首先需要安装aliyun.repo
yum -y install wget
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  #下载aliyun仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  #配置额外仓库
yum clean all && yum makecache

wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo  #准备网络源
yum -y install yum-utils device-mapper-persistent-data lvm2  #  安装docker依赖的软件包
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  #添加docker仓库
ls /etc/yum.repos.d/  #查看docker仓库
yum -y instal docker-ce  #安装
systemctl start docker-ce  #启动docker
systemctl anble docker-ce  #设置开机自启
[root@localhost ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.9
 API version:       1.41
 Go version:        go1.16.8
 Git commit:        c2ea9bc
 Built:             Mon Oct  4 16:08:14 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.9
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.8
  Git commit:       79ea9d3
  Built:            Mon Oct  4 16:06:37 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.11
  GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info   #查看详细信息
Registry: https://index.docker.io/v1/  #查看指向的默认的tar包地址

https://cn.aliyun.com/  #阿里云服务器官网

Docker镜像操作

docker search nginx  #查找镜像
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                             Official build of Nginx.                        15653     [OK]       
jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   2080                 [OK]
richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   818                  [OK]
jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ho…   259                  
linuxserver/nginx                 An Nginx container, brought to you by LinuxS…   157                  
#第一列:NAME:镜像名字
#第二列:DESCRIPTION:镜像描述信息
#第三列:SYARS:星级(下载数,好评越高越nb)
#第四列:OFICIAL:官方(ok)
  • 查看镜像
docker images  #列出已有镜像
REPOSITORY(镜像名/仓库名+镜像名)          TAG(标签)                 IMAGE ID(镜像的ID号)            CREATED(镜像创建时间)             SIZE(多大)

docker inspect nginx #查看镜像详细信息
  • 下载镜像
docker pull nginx
  • 给镜像添加标签
#格式:docker tag 名称(:标签) 新名称(:标签)
docker tag nginx nginx:test
  • 删除镜像
#格式:docker rmi 镜像名称[:标签]
      docker rmi 镜像ID
docker rmi nginx:test
  • 存出镜像和载入镜像
存出格式:docker save -o 存出镜像为本地文件 镜像名
docker save -o nginx-lmages nginx
ls -l nginx-lmages

载入格式:docker load < nginx-lmages.tar
        docker load --input nginx-lmages.tar
  • 上传镜像
#首先注册登录仓库
docker login
账号,密码

docker tag nginx 192.168.200.100:5000/nginx:test
docker push 192.168.200.100:5000/nginx:test
posted @ 2021-10-18 22:14  whml  阅读(109)  评论(0编辑  收藏  举报