暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

docker容器与虚拟机的对比,以及部署安装实践

DevHome 2021-12-09
886

什么是容器:

容器技术已经成为应用程序封装和交付的核心技术

容器技术的核心有以下几个内核技术组成:

    — CGroups( Control Groups ) - 资源管理

    — NameSpace - 进程隔离

    — SELinux 安全

由于是物理机上实施隔离,启动一个容器,可以想启动一个进程一样快速


什么是Docker:

Docker是完整的一套容器管理系统

Docker提供了一组命令,让用户更加方便直接地使用容器技术,而不需要过多关心底层内核技术


Docker优点:

相比与传统的虚拟化技术,容器更加简洁高效

传统虚拟机器要给每个VM安装操作系统

容器使用的共享公共库和程序


Docker的缺点

容器的隔离性没有虚拟化强

共用Linux内核,安全性有先天缺陷

SELinux难以驾驭

监控容器和容器排错是挑战

部署Docker

Ubuntu 系列安装 Docker

Docker支持版本

    UbuntuXenial16.04(LTS)

    UbuntuWily15.10

    UbuntuTrusty14.04(LTS)

    UbuntuPrecise12.04(LTS)

Docker目前只能安装在64位平台上,并且要求内核版本不低于3.10,实际上内核越新越好,过低的内核版本容易造成功能的不稳定。

用户可以通过如下命令检查自己的内存版本信息

    $ uname -a

    $ cat /proc/version

更新APT镜像源

首先需要安装 apt-transport-https 包支持 https 协议的源

    $ sudo apt-getinstall apt-transport-https ca-certificates

添加源的 gpg 密钥

    $sudo apt-keyadv--keyserver hkp://p80.pool.sks-keyservers.net

获取当前操作系统的代号

    $ lsb_release -c

    Codename:trusty

添加 Docker 的官方 apt 软件源了。

    $ sudo cat <<EOF > /etc/apt/sources.list.d/docker.list

    debhttps://apt.dockerproject.org/repoubuntu-trustymain

    EOF

添加成功后,更新apt软件包缓存。

    $ sudo apt-get update

分版本的预安装任务

    高于 12.04 LTS的版本

    $ sudo apt-get install-y linux-image-extra-$(uname -r)

    $ sudo apt-get install apparmor

    12.04 LTS版本

   $sudo apt-get install linux-image-generic-lts-trusty

    安装Docker

    $sudo apt-getinstall -ydocker-engine    


CentOS 系列安装Docker

要添加yum 软件源

    $sudo cat > /etc/yum.repos.d/docker.repo<<-'EOF'

        [dockerrepo]

        name=DockerRepository

        baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/

        enabled=1

        gpgcheck=0

        EOF

使用yum 安装docker-engine

    $ sudo yum install -y install docker-engine


Debian操作系统安装Docker

支持版本

    Debiantestingstretch(64-bit)

    Debian8.0Jessie(64-bit)

    Debian7.7Wheezy(64-bit)

更新APT仓库

1. 清理旧的仓库信息

    $apt-getpurgelxc-docker*

    $apt-getpurgedocker.io*

2. 更新和安装软件包

    $apt-getupdate

    $apt-getinstallapt-transport-httpsca-certificates

3. 添加 GPG 键

    $ apt-keyadv--keyserverhkp://p80.pool.sks-keyservers.net:80 --recv-keys58118E89F3A912897C070ADBF76221572C52609D

4. 添加 APT 源 以Debian Jessie 为例

    $sudo cat<<EOF> /etc/apt/sources.list.d/docker.list

    deb https://apt.dockerproject.org/repodebian-jessie main

    EOF

    其他两个版本

    deb https://apt.dockerproject.org/repo debian-wheezy main

    deb https://apt.dockerproject.org/repo debian-stretch main

安装Docker

    $sudo apt-get install docker-engine

为非 root 用户授权

    #如果没有就建立一个 Docker 组

    $sudo groupadd docker

    #增加一个用户(用真实的名字替换下面的 ${USER})到 Docker 组,需重登陆来生效

    $sudo gpasswd -a ${USER}docker

    #重启 Docker 服务

    $sudo service docker restart

    更新 Docker

    $apt-get upgrade docker-engine

卸载 Docker

    #卸载软件包

    $sudo apt-get purge docker-engine

    #卸载依赖包

    $sudo apt-get autoremove --purge docker-engine

    #如有必要,执行以下命令,删除全部镜像、容器、数据卷和其他docker相关用户信息

    :

    $rm -rf /var/lib/docker

后续将分享docker在实现项目中的具体应用,敬请关注下方公众号

文章转载自DevHome,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论