zoukankan      html  css  js  c++  java
  • 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: 
  • 相关阅读:
    背水一战 Windows 10 (61)
    背水一战 Windows 10 (60)
    背水一战 Windows 10 (59)
    背水一战 Windows 10 (58)
    背水一战 Windows 10 (57)
    背水一战 Windows 10 (56)
    背水一战 Windows 10 (55)
    背水一战 Windows 10 (54)
    背水一战 Windows 10 (53)
    背水一战 Windows 10 (52)
  • 原文地址:https://www.cnblogs.com/mr-yang-localhost/p/7859949.html
Copyright © 2011-2022 走看看