美文网首页
docker升级及 ce, cs 和 ee版本的区别

docker升级及 ce, cs 和 ee版本的区别

作者: riverlcn | 来源:发表于2019-04-16 23:50 被阅读0次

    起因

    今天在 CentOS 7 上编译 docker 镜像,Dockerfile 里面有这样两行

    FROM postgres:10.7 AS cube-builder
    ...
    
    FROM postgres:10.7
    COPY --from=cube-builder /usr/lib/postgresql/10/lib/cube.so /usr/lib/postgresql/10/lib/
    

    使用 docker build 编译时,出现 FROM AS 不正确,COPY unknown flag --from 这样的错误。查了官方的文档,有这两个选项。

    Optionally COPY accepts a flag --from=<name|index> that can be used to set the source location to a previous build stage (created with FROM .. AS <name>) that will be used instead of a build context sent by the user.

    再查一些资料,发现是 docker 版本过低,没有这个选项。好吧,升级 docker...

    CentOS 7 升级 docker

    CentOS 7 默认源安装的 docker 版本是 1.13.1, 需要升级版本到 ce 版本

    卸载老版本的 docker

    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    

    安装 docker ce

    官方提供多种方法安装 ce 版本 docker,我们通过 yum 仓库的方式安装 docker ce。(P.S 官方文档写的比较详细,可以点击查看)

    1. 安装依赖的工具包和存储驱动
    sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    
    1. 配置 docker ce yum仓库
    sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    
    1. 安装
    sudo yum install docker-ce
    
    1. 启动 docker,并查看安装的版本
    sudo systemctl start docker
    docker version
    

    输出如下,说明安装成功.

    Client:
     Version:           18.09.5
     API version:       1.39
     Go version:        go1.10.8
     Git commit:        e8ff056
     Built:             Thu Apr 11 04:43:34 2019
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          18.09.5
      API version:      1.39 (minimum version 1.12)
      Go version:       go1.10.8
      Git commit:       e8ff056
      Built:            Thu Apr 11 04:13:40 2019
      OS/Arch:          linux/amd64
      Experimental:     false
    

    docker ce, cs, ee 版本区别

    StackOverflowDocker CE, Docker EE, Dokcer CS 有一段简单的描述,说明其中的差异,大概意思如下:

    • Docker CE (Community Edition) 是开源社区版本
    • Docker EE (Enterprise Edition) 是被 docker 官方支持和认证的版本
    • Docker CS (Commercially Supported) 是社区是吃的 Docker EE,版本是 versions <= 1.13

    这篇一篇文章 ANNOUNCING DOCKER ENTERPRISE EDITIONDocker CEDocker EE 有更详细的介绍。EE 版有更强的功能和更好的支持,CE 版同样也会支持,发布版本周期也更频繁。

    ee.png

    对于大多数开发者,使用 CE 版本的功能即可满足需求。

    相关文章

      网友评论

          本文标题:docker升级及 ce, cs 和 ee版本的区别

          本文链接:https://www.haomeiwen.com/subject/cfuwwqtx.html