centos7基于官方源安装docker容器及镜像概念

目录

    • docker官网
    • 官方技术文档
    • docker概述
        • docker组成部分
        • 虚拟机跟docker的区别
        • docker主要应用于
    • 环境搭建
      • 前提环境:
        • 1. 安装必要的工具依赖
        • 2. 配置源
        • 3. 安装启动验证docker
        • 4. 安装docker补全命令
    • 镜像与容器概念
        • 镜像:
        • 容器:
    • docker命令
          • 一 . 基础命令:
          • 二 . 启动停止删除命令:
        • 三 . 实例
        • 四 . 镜像;容器的导入;导出;保存;加载
        • 五 . 配置docker镜像加速器

docker官网

官方技术文档

docker概述

  • 使用最广泛的开源容器引擎
  • 一种进程级虚拟化技术
  • 依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)
  • 一个简单的应用程序打包工具

docker组成部分

  • Docker Client:客户端
  • Ddocker Daemon:守护进程
  • Docker Images:镜像
  • Docker Container:容器
  • Docker Registry:镜像仓库
    centos7基于官方源安装docker容器及镜像概念_第1张图片

虚拟机跟docker的区别

~ Container VM
启动速度 分钟
磁盘占用 MB GB
数量 成百上千 一般几十台
隔离性 进程级 系统级(更彻底)
操作系统 主要面向linux 几乎所有
封装程度 只打包项目代码和依赖关系,共享宿主机内核 完整的操作系统

docker主要应用于

  • 应用程序打包和发布
  • 应用程序隔离
  • 持续集成
  • 部署微服务
  • 快速搭建测试环境
  • 提供PaaS产品(平台即服务)

环境搭建

docker几乎面向linux
centos7基于官方源安装docker容器及镜像概念_第2张图片

前提环境:

centos7
doukerCE
关闭firewalld
关闭selinux

/etc/selinux/config

centos7基于官方源安装docker容器及镜像概念_第3张图片

1. 安装必要的工具依赖

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

2. 配置源

不配做源进行安装,装的是旧版的docker
这个源如果配置不了,用阿里源代替
官方源:

$ yum-config-manager --add-repo "https://download.doc ker.com/linux/centos/docker-ce.repo"

阿里源:

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

出现docker-ce表示源配置成功

centos7基于官方源安装docker容器及镜像概念_第4张图片

3. 安装启动验证docker

如果有特别版本需求,要在docker官网换源,因为我配置的官方源所以安装的19版的docker

$ yum install -y docker-ce

$ systemctl start docker
$ systemctl enable docker

$ docker run hello-world

4. 安装docker补全命令

安装docker后,会默认创建docker0 桥172.17.0.1。容器会自动nat到桥上以对外通信。默认会接入到bridge中。

$ yum install -y bash-completion

$ source /usr/share/bash-completion/completions/docker
$ source /usr/share/bash-completion/bash_completion

镜像与容器概念

镜像:

  • 一个分层存储的文件
  • 一个软件的环境
  • 一个镜像可以创建N个容器
  • 一种标准化的交付
  • 一个不包含Linxu内核精简的LinuxOS
$ docker history 镜像ID		//查看镜像对应Dockerfile中的指令

docker镜像默认存储在

$ /var/lib/docker/

镜像,docker hub 由docker官方维护

地址:Docker官方镜像

容器:

  • 容器其实是在镜像最上面加了一层读写层,在运行容器里的文件改动时,会先从镜像里要写的文件复制到容器自己的文件系统中,也就是读写层。
  • 如果容器删除了,最上面的读写层也删除了,改动也丢失了。所有无论多少个容器共用一个镜像,所做的操作也仅限于读写层,并不影响镜像源文件。
  • 若想持久这些改动,可通过 docker commit 将容器保存为一个新镜像。

centos7基于官方源安装docker容器及镜像概念_第5张图片

docker命令

一 . 基础命令:
$ systemctl restart docker				//重启docker
$ systemctl daemon-reload				//重启守护进程
$ docker search	nginx 					//搜索nginx镜像
$ docker container run --name ngx_1 -itd nginx	//创建名为ngx_1的nginx容器,-i:以 交互模式启动 -t:以 附加进程方式启动,-d后端运行

$ docker container ls		//列出运行中的容器
$ docker container ls -a	//列出所有的容器
$ docker image ls			//列出所有镜像
$ docker network ls			//列出容器网络
二 . 启动停止删除命令:
$ docker container start 容器ID			//启动容器
$ docker container stop 容器ID			//关闭容器
$ docker container rm 容器ID			//删除容器 关机下进行

三 . 实例

$ docker inspect nginx						//查看容器具体信息
$ curl 172.17.0.2							//访问nginx
$ docker logs 3996e2c262fe					//查看日志
$ docker exec -it id bash					//进入容器
$ docker inspect id| grep Id  				//查看完整id
$ docker cp /home/test/ id:/home/test/		//拷贝文件到容器
$ docker cp id:/home/test/ . 				//拷贝文件到宿主机

四 . 镜像;容器的导入;导出;保存;加载

export 导出的镜像小于 save保存的的镜像
导出导入是根据容器拿到镜像,在导入时会丢失镜像所有历史,无法回滚,而保存加载镜像没有丢失历史,可以回滚。

$ docker image save id > /home/test/test .tar		//保存镜像
$ docker image load < /home/test/test.tar			//加载镜像

$ docker image export id > /home/test/test_1.tar	//导出容器
$ docker image import /home/test/test_1.tar			//导入容器

五 . 配置docker镜像加速器

地址:https://www.daocloud.io/mirror
这是一个国内的公司做的一个镜像,跟官方是同步的。

你可能感兴趣的:(Docker+k8s)