• Docker-初始docker


    一、什么是Docker

    Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。

    下面的图片比较了 Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

    二、为什么要使用docker

    为什么要使用docker

    三、docker基本概念

    Docker 包括三个基本概念

    理解了这三个概念,就理解了 Docker 的整个生命周期。简单来说,镜像与容器的关系类似面向对象的类与实例的关系。镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

    四、docker的安装(摘自:Centos安装Docker CE

    a、安装docker ce

    因网络问题,本文是参考 阿里云Docker CE镜像源站 方式安装的Centos版的Docker CE。安装成功后:

    [root@localhost local]# sudo service docker start
    Redirecting to /bin/systemctl start docker.service
    [root@localhost local]# docker version

    Client:
    Version: 17.09.0-ce
    API version: 1.32
    Go version: go1.8.3
    Git commit: afdb6d4
    Built: Tue Sep 26 22:41:23 2017
    OS/Arch: linux/amd64

    Server:
    Version: 17.09.0-ce
    API version: 1.32 (minimum version 1.12)
    Go version: go1.8.3
    Git commit: afdb6d4
    Built: Tue Sep 26 22:42:49 2017
    OS/Arch: linux/amd64
    Experimental: false
    [root@localhost Desktop]#

    出现版本信息表示安装成功。

    b、配置国内镜像加速器

    配置阿里加速器:

    参考:镜像加速器

    登陆阿里云账号,访问地址:https://cr.console.aliyun.com/#/accelerator ,会有一个专有的加速地址:

    按提供的方法配置docker加速器,如果已经存在 /etc/docker 文件夹,就不需要执行 sudo mkdir -p /etc/docker 命令

    配置daocloud加速器:(配置方法:daocloud官方

    [root@localhost Desktop]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f79ca91e.m.daocloud.io
    docker version >= 1.12
    {
    "registry-mirrors": ["http://f79ca91e.m.daocloud.io"]
    }
    Success.
    You need to restart docker to take effect: sudo systemctl restart docker
    [root@localhost Desktop]# sudo systemctl restart docker
    [root@localhost Desktop]# docker pull nginx
    Using default tag: latest
    latest: Pulling from library/nginx
    bc95e04b23c0: Downloading 10.06MB/22.49MB
    f3186e650f4e: Downloading 9.407MB/21.95MB
    9ac7d6621708: Download complete

    c、检查加速器

    命令:docker info ,如下信息表示配置成功

    [root@localhost docker]# docker info
    Containers: 0
    ……

    ……
    Registry Mirrors:
    https://xxxxxxxx.mirror.aliyuncs.com/
    Live Restore Enabled: false

     默认配置下,如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:

    WARNING: bridge-nf-call-iptables is disabled
    WARNING: bridge-nf-call-ip6tables is disabled

    请添加内核配置参数以启用这些功能。

    [root@localhost Desktop]# sudo tee -a /etc/sysctl.conf <<-EOF
    > net.bridge.bridge-nf-call-ip6tables = 1
    > net.bridge.bridge-nf-call-iptables = 1
    > EOF
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    [root@localhost Desktop]# 

    然后重新加载 sysctl.conf 即可

    [root@localhost Desktop]# sudo sysctl -p
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    [root@localhost Desktop]# 

    d、建立 docker 用户组

    默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

    建立 docker 组:

    先查看是否存在docker用户组

    [root@localhost Desktop]# grep docker /etc/group

    不存在就新建docker分组:

    [root@localhost Desktop]# sudo groupadd docker

    为当前用户 docker 组创建用户(dockuser)并设置密码(dockuser):

    [root@localhost Desktop]# useradd -G docker dockuser
    [root@localhost Desktop]# passwd dockuser
    Changing password for user dockuser.
    New password: 
    BAD PASSWORD: The password contains the user name in some form
    Retype new password: 
  • 相关阅读:
    面试题27:二叉树的镜像
    面试题26:树的子结构
    面试题25:合并两个排序的链表
    面试题24:反转链表
    面试题23:链表中环的入口节点
    面试题22:链表中倒数第k个节点
    欧拉函数的使用
    C++ STL 全排列函数详解
    Ubuntu系统安装网易云音乐、搜狗输入法
    Ubuntu系统 安装谷歌 Chrome 浏览器
  • 原文地址:https://www.cnblogs.com/mr-yang-localhost/p/7859949.html
Copyright © 2020-2023  润新知