Docker安装(Docker Engine安装)

一、Docker Engine和Desktop区别

Docker Engine

  • 核心组件:Docker Engine是Docker的核心运行时引擎,负责构建、运行和管理容器。它包括守护进程(dockerd)、API和命令行工具客户端(docker)。
  • 适用环境:Docker Engine适用于没有图形界面的设备,如服务器或虚拟机。它通过命令行界面进行操作,适合需要高度定制化和高性能的生产环境。
  • 特点:Docker Engine提供灵活的API和工具集,支持高级功能如自定义网络配置和安全设置,适合对性能和安全性要求较高的场景。支持常见的Linux平台(未直接提供Mac、Window版)

Docker Desktop

  • 桌面应用:Docker Desktop是一个桌面应用程序,提供了图形界面,支持三类平台:Mac、Windows、带图形界面的Linux,为用户提供了直观地管理容器。
  • 集成特性:它除了包含Docker Engine外,还集成了以下功能:
    • Docker Engine
    • Docker CLI client
    • Docker Scout (additional subscription may apply)
    • Docker Build
    • Docker Extensions
    • Docker Compose
    • Docker Content Trust
    • Kubernetes
    • Credential Helper

总结下:

    Docker Engine是核心,提供命令方式,适合生产服务器环境(也称为Docker CE)。

    Docker Desktop不仅包含Engine还集成有其他功能,提供图形操作界面。

二、安装Docker

     我们以CentOS 7.9 64bit为例,安装Docker Engine

     Docker Engine官方说明文档链接:https://docs.docker.com/engine/

     

    注意:对于CentOS 8或者CentOS 9使用dnf包管理器,对于CentOS使用yum包管理器。dnf与yum两者命令参数大致类似。

    1、安装docker如下:

# 移除Linux上可能存在的旧版本docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 配置docker的yum源。
# 因官方提供https://download.docker.com/linux/centos/docker-ce.repo的比较慢,因此以下改配置为国内阿里源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# (二选一)安装最新docker软件
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# (二选一)安装某个指定版本docker软件(先列出,再选择版本安装)
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

# 安装后,查看docker版本号
docker version

    注意:以上安装docker时,会自动创建名为“docker”的Linux组。

   2、启动docker

# 启动docker守护服务,并设置随Linux开机而自动启动docker
sudo systemctl enable --now docker

   3、启动docker后,通过docker info查看信息

三、配置Docker Image国内镜像源

     Docker默认的镜像源是DockerHub,访问较慢。因此我们配置国内镜像源。

     1、在/etc/docker/daemon.json文件(若不存该文件则新建),增加以下内容(其中国内源URL可能失效则自行搜索寻找):

{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.rainbond.cc",
        "https://docker.1panelproxy.com"
    ]
}

     2、重启docker守护进程,使配置的国内镜像源生效。

# 重启Docker守护进程
sudo systemctl restart docker

     3、重启docker后,通过docker info查看信息。可以看到最后的Registry Mirrors信息

     4、执行“sudo docker run hello-world”下载image并运行。正常结果如下,可以看到提示本地没有该image则从网上pull镜像,最后运行容器,显示“Hello from Docker!”。

 自此,Docker在Linux上安装成功!

四、赋权非root用户

     默认只能root用户才能执行docker命令,为了让Linux上普通用户也能执行,可把指定用户加入至“docker”组中,这样该用户也可以执行docker命令了。

#执行完此命令后,需该用户重新登录Linux
sudo usermod -aG docker 用户名

附:内网离线方式

  • 安装

     以上安装docker是联机在线方式,不适合内网。 对于内网离线,可以手工下载rpm包并拷贝进内网Linux服务器,然后通过yum安装本地rpm包方式进行安装。

     具体可参加官网:https://docs.docker.com/engine/install/centos/#install-from-a-package

  • image获取

     以上docker run或者docker pull是联机在线方式,不适合内网。 对于内网离线,可以分两步:

     ①先在外网获取image后,然后通过以下命令导出保存为tar文件

        docker save -o myimage.tar IMAGE_NAME:TAG

     ②将tar文件拷贝进内网Linux服务器,然后本地从tar文件加载作为image

        docker load -i /path/myimage.tar

### 解决Docker Engine无法修改配置的问题 #### 修改Linux系统的`daemon.json` 对于Linux系统,编辑位于 `/etc/docker/daemon.json` 的文件来调整Docker守护程序设置。完成更改之后,需执行命令 `systemctl restart docker` 来重启服务使新设定生效[^1]。 如果遇到权限不足的情况,则可能是由于当前用户缺少必要的访问权限所致。此时可以尝试使用sudo提升权限再次操作: ```bash sudo vim /etc/docker/daemon.json sudo systemctl restart docker ``` #### macOS上的Docker Engine配置更新方式 在macOS环境下,有两种途径可用来改变Docker引擎参数:一种是通过图形界面,在菜单栏点击Docker图标进入Settings选项里的Docker Engine部分;另一种则是手动编辑隐藏于用户家目录下的`.docker` 文件夹中的`daemon.json` 文件[^4]。当采用后者时,可能需要先显示隐藏文件才能定位到目标路径。具体做法是在访达(Finder)中按住Shift+Command+.组合键显示出所有被隐藏起来的内容后再做相应改动。 一旦发现因不当配置引起的应用启动异常问题,建议立即恢复原始状态——删除或修正有问题的那一行配置项,并按照提示重新启动应用程序以恢复正常运作。 #### Windows平台下处理Docker Engine配置难题的方法 针对Windows操作系统而言,可以通过创建或者编辑 `%APPDATA%\Roaming\Docker\daemon.json` 这个JSON格式的文档来进行自定义化定制工作[^2]。值得注意的是,某些特定版本可能会把此文件放置于其他位置,请参照官方说明确认确切地址[^3]。另外,为了确保变更能够顺利实施,务必记得保存好所做的任何变动并且及时告知Docker Desktop去读取最新的配置信息,这通常意味着要完全关闭再开启该软件一次。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值