首页 > 技术文章 > Docker安装

jiawei2527 2019-05-08 21:08 原文

前言:docker容器是什么

    Docker是通过内核虚拟化技术(namespaces及cgroups)来提供容器的资源隔离与资源限制。由于Docker通过操作系统层的虚拟化实现隔离(对操作系统的内核有要求),所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,从而比kvm虚拟机更轻量

   docker是一种软件的打包技术,只要能运行docker容器,那么docker镜像中已经安装好的软件也可以运行。

   构建:制作docker镜像,打包容器的所有系统目录文件

   运输:下载docker镜像

   运行:基于docker镜像提供的rootfs,启动容器

   docker是linux容器的一种封装,提供简单易用的容器使用接口。它是流行的Linux容器解决方案。

   docker用户可以方便的创建,销毁容器。

   docker将应用程序与程序的依赖,打包在一个文件里面,运行该文件就会生成一个容器。程序运行在虚拟容器里。

应用场景:

   1.web应用的自动化打包和发布

   2.自动化测试和持续集成、发布

   3.在服务型环境中部署和调整数据库或其他应用

docker的三大概念

  1.镜像Image   docker镜像是用于创建Docker容器的模板

  2.容器container   容器是独立运行的一个或者一组应用

  3.仓库repository   docker仓库是用来保存镜像。docker hub(https://hub.docker.com)提供了庞大的镜像集合供使用。

 docker 客户端:docker客户端通过命令行或者其他工具使用docker api与docker的守护进程通信。

docker主机:一个物理或者虚拟的机器用于执行docker守护进程和容器。

docker machine:docker machine是一个简化docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装docker.

一.使用yum安装docker

     docker要求CentOS系统的内核版本高于3.10

     查看内核版本:

     

     安装docker

      docker在原来的基础上分为两个版本:docker ce和docker ee

       安装一些必要的系统工具:

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

        添加软件源

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

       或者:

      curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

      sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo

     

       更新yum缓存

       yum makecache fast

       安装docker-ce:

        yum -y install docker-ce

   

        启动docker服务

        systemctl start docker

  docker是一个cs架构:

  通过docker version来查看  

[root@web01 ~]# docker version
Client: Docker Engine - Community
Version: 19.03.12
API version: 1.40
Go version: go1.13.10
Git commit: 48a66213fe
Built: Mon Jun 22 15:46:54 2020
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.12
API version: 1.40 (minimum version 1.12)
Go version: go1.13.10
Git commit: 48a66213fe
Built: Mon Jun 22 15:45:28 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683

配置加速器提高拉取镜像的速度。采用网易的镜像地址:http://hub-mirror.c.163.com 或者https://registry.docker-cn.com

docker 使用/etc/docker/daemon.json来配置daemon,内容如下:

     

配置完成后,重启docker

systemctl  restart docker 

测试运行hello-world

docker容器运行nginx

[root@web01 ~]# docker run -d -p 80:80  nginx

解释:

run      (创建并运行一个容器)

-d         放在后台

-p        端口映射

nginx  docker镜像的名字

二.使用脚本安装Docker

     更新yum包到最新

     yum update

     执行docker安装脚本

     curl -fsSL https://get.docker.com -o get-docker.sh

     sh get-docker.sh

     启动docker进程

    systemctl start docker

三. 删除docker ce

      yum remove docker-ce

     rm -rf  /var/lib/docker

 

推荐阅读