开发者社区 > 博文 > Docker运行环境安装
分享
  • 打开微信扫码分享

  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

Docker运行环境安装

  • 京东云开发者
  • 2024-10-28
  • IP归属:北京
  • 100浏览

    Docker是一个开放的平台,用于开发、发布和运行应用程序。Docker分离了应用程序和运行应用的基础设施,从而实现了软件的快速交付。利用docker提供的一系列功能,包括构建、发布、测试和部署,可以帮助开发人员将最新版本代码应用到生产环境中。

    Docker可以安装在多个平台中,包括Mac、Windows和Linux。不过,生产环境还是推荐在Linux上运行,以下以主流的Linux操作系统(CentOS和ubuntu)为例,说明Docker运行环境的安装过程。


    一、安装

    1、CentOS

    1.1、检查操作系统版本

    Docker官方建议使用最新的稳定版本CentOS 9(stream)。不过,从docker-ce的发布软件包来看,仍然支持CentOS7和CentOS8。详细情况可参考清华大学的镜像站,https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/

    1.2、卸载老版本的docker或docker-engine

    如果你之前安装过 docker,使用以下命令删除旧的版本和依赖软件。

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

    需要说明的是:删除旧版本docker,并不会删除使用中的镜像、容器实例、存储卷和网络配置,这些内容仍然保存在/var/lib/docker目录下。

    1.3、安装docker运行环境

    安装docker engine的方法有多种,

    1)docker官方提供的yum安装源仓库(repositories),可以方便的实现安装和更新任务。 这也是官方推荐的方式。

    2)下载docker的RPM软件包,手工进行安装和后续的更新。这个方式一般是在企业内网环境中,无法访问internet的情况下采用。

    3)使用自动化的安装脚本https://get.docker.com/,自动完成安装。适合于开发和测试环境。缺点是,因为国家网络安全管理的限制,如何获取这个脚本?本身就是一个问题。建议初学者,还是应该掌握软件包管理的方法(yum,或者rpm),不要过度依赖于安装脚本。

    需要注意的是:安装脚本中默认使用了国外的安装源,文件的下载速度较低。脚本中允许指定国内的两个安装源, --mirror=Aliyun(或者AzurechinaCloud),可以加快部署。


    以下使用方式1(docker官方提供的yum安装源仓库)进行安装:

    1、安装yum仓库管理工具,下载 repo 文件,并把软件仓库地址替换为国内镜像站

    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce

    需要注意的是:当download.docker.com无法访问时,可以通过国内镜像站替代,比如:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo


    2、安装docker engine、containerd和docker-compose

    2.1 安装最新版本

    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    2.2 (可选)安装指定版本

    1)获取仓库中可用的版本清单

    yum list docker-ce --showduplicates | sort -r
    docker-ce.x86_64    3:27.1.1-1.el9    docker-ce-stable
    docker-ce.x86_64    3:27.1.0-1.el9    docker-ce-stable
    <...>

    说明:VERSION_STRING = 3:27.1.1-1.el9

    2)安装指定的版本

    sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

    3)启动docker

    sudo systemctl start docker

    2、ubuntu

    注意:防火墙限制

    Docker仅兼容iptables-nft和iptables-legacy,使用nft创建的防火墙规则在docker环境下不生效。

    2.1、检查操作系统版本

    Docker官方建议使用的版本包括,

                      Ubuntu Noble 24.04 (LTS)

                      Ubuntu Jammy 22.04 (LTS)

                      Ubuntu Focal 20.04 (LTS)

    不过,从docker-ce的发布软件包来看,仍然支持ubuntu的历史版本。详细情况可参考清华大学的镜像站,https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/dists/。


    2.2、卸载老版本的docker或docker-engine

    如果你之前安装过 docker,使用以下命令删除旧的版本和依赖软件:

    for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

    说明:删除旧版本docker,并不会删除使用中的镜像、容器实例、存储卷和网络配置,这些内容仍然保存在/var/lib/docker目录下。


    2.3、安装docker运行环境

    安装docker engine的方法有多种,

    1)docker官方提供的apt安装源仓库(repository)

    2)手工进行安装和后续的更新。

    3)使用自动化的安装脚本https://get.docker.com/,适合于开发和测试环境。


    以下使用方式1(docker官方提供的apt安装源仓库)进行安装:

    1、首先安装依赖:

    apt-get update
    apt-get install ca-certificates curl gnupg

    2、信任 Docker 的 GPG 公钥并添加仓库:

    install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
      "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
      tee /etc/apt/sources.list.d/docker.list > /dev/null

    3、最后安装

    3.1 安装最新版本

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    3.2 (可选)安装指定版本

    1)获取仓库中可用的版本清单

    apt-cache madison docker-ce | awk '{ print $3 }'


    5:27.1.1-1~ubuntu.24.04~noble

    5:27.1.0-1~ubuntu.24.04~noble

    ...

    说明:VERSION_STRING=5:27.1.1-1~ubuntu.24.04~noble

    2)安装指定的版本

    VERSION_STRING=5:27.1.1-1~ubuntu.24.04~noble
    sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

    3)启动docker

    sudo systemctl start docker


    二、配置docker镜像国内加速

    创建或更新文件:/etc/docker/daemon.json,内容如下:

    {
        "registry-mirrors": [
            "https://docker.m.daocloud.io",
            "https://docker.nju.edu.cn",
            "https://dockerproxy.com",
            "https://docker.udayun.com",
            "https://noohub.ru",
            "https://huecker.io",
            "https://dockerhub.timeweb.cloud"
        ]
    }


    配置完成后,需要重新启动docker

    sudo systemctl restart docker


    三、运行hello-world镜像,验证安装结果

    sudo docker run hello-world

    说明:以上命令执行过程中,会首先拉取hello-world镜像,然后运行容器实例,当看到控制台中显示包含“Hello from Docker!”的提示信息时,表示安装成功。