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。

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

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

1、安装docker如下:

bash 复制代码
# 移除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

bash 复制代码
# 设置:随Linux开机而自动启动docker
sudo systemctl enable docker

# 启动docker(若在上步enable命令最后增加" --now",则无需再执行以下start)
sudo systemctl start docker

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

三、配置Docker Image国内镜像源

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

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

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

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

bash 复制代码
# 重启Docker守护进程
sudo systemctl daemon-reload
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命令了。

bash 复制代码
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

相关推荐
对,就是哥3 分钟前
ABAP 两个内表不同名称字段赋值的方法
运维·数据库·windows
靴子学长1 小时前
Docker 远程访问完整配置教程以及核心参数理解
docker·容器·eureka
O。o.尊都假都2 小时前
003__系统共享工具、服务器的使用
linux·运维·服务器
叱咤少帅(少帅)5 小时前
Ubuntu Server安装谷歌浏览器
linux·运维·ubuntu
0709005 小时前
玩客云docker修复(docker安装)
spring cloud·docker·容器
聚名网7 小时前
加固服务器有什么用?
运维·服务器
比钻石还闪亮的nan人7 小时前
ubuntu 使用s3fs配置自动挂载对象存储
linux·运维·ubuntu
C182981825758 小时前
Kubernetes
云原生·容器·kubernetes
whp4048 小时前
docker-compose 简单部署
运维·docker·容器
罗小爬EX8 小时前
Docker部署Kafka
docker·kafka