前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux离线安装docker20.10.7 版本(亲测有效)

linux离线安装docker20.10.7 版本(亲测有效)

作者头像
一写代码就开心
发布于 2024-01-11 02:01:35
发布于 2024-01-11 02:01:35
7K00
代码可运行
举报
文章被收录于专栏:java和pythonjava和python
运行总次数:0
代码可运行
目录
  • 1 下载
  • 2 安装
    • 2.1 新建docker.service
    • 2.2 为什么要写docker.service
    • 2.3 启动docker
    • 2.5 安装docker-compose
      • 2.5.1 为什么安装
      • 2.5.2 安装
  • 3 /usr/local/bin/ 和 /usr/bin 区别

1 下载

将这个上传到linux 服务器的 随便一个目录

2 安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
解压离线安装包
tar -zxvf docker-20.10.7.tgz

解压之后在安装包的同一级的目录下出现这个文件夹

将docker 文件夹里面的东西都复制到 /usr/bin/ 里面

为什么复制到这个 /usr/bin/ 里面,因为docker 文件夹下都是docker 的命令,也就是可执行文件,也就是我们操作docker 的指令。

现在把这些指令都复制到 /usr/bin/ 里面,因为 /usr/bin/ 这个在在系统的PATH环境变量中。所以在随便一个目录都可以使用这个文件夹下的指令。

目的就是在随便一个目录下都可以使用docker 的指令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cp docker/*  /usr/bin/

2.1 新建docker.service

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /etc/systemd/system/docker.service

这个文件里面的内容是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

这是一个示例的 docker.service 文件的内容,让我们逐行解释每一行的含义:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
  • [Unit]:这个部分定义了单元的元数据。
  • Description:描述了单元的名称,这里是 Docker 应用容器引擎。
  • Documentation:提供了关于 Docker 的文档链接。
  • After:指定了单元所依赖的其他单元,这里是 network-online.targetfirewalld.service
  • Wants:指定了单元所希望的其他单元,这里是 network-online.target
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
  • [Service]:这个部分定义了服务的配置。
  • Type=notify:指定了服务的类型为 notify,表示服务会在启动完成时向 systemd 发送通知。
  • ExecStart:指定了服务的启动命令,这里是 /usr/bin/dockerd,即 Docker 守护进程的可执行文件路径。
  • ExecReload:指定了服务的重载命令,这里是 /bin/kill -s HUP $MAINPID,表示当服务需要重新加载配置时,发送 HUP 信号给主进程。
  • LimitNOFILE:指定了服务允许的最大文件描述符数,这里设置为 infinity,表示无限制。
  • LimitNPROC:指定了服务允许的最大进程数,这里设置为 infinity,表示无限制。
  • TimeoutStartSec:指定了服务启动的超时时间,这里设置为 0,表示没有超时限制。
  • Delegate:指定了是否将服务的控制权委托给其他单元,这里设置为 yes,表示委托给其他单元。
  • KillMode:指定了服务被终止时的行为,这里设置为 process,表示终止主进程。
  • Restart:指定了服务在失败时是否重启,这里设置为 on-failure,表示只有在失败时才重启。
  • StartLimitBurst:指定了服务重启的次数限制,这里设置为 3,表示在一段时间内最多重启 3 次。
  • StartLimitInterval:指定了服务重启的时间间隔,这里设置为 60s,表示重启的时间间隔为 60 秒。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Install]
WantedBy=multi-user.target
  • [Install]:这个部分定义了安装的相关信息。
  • WantedBy:指定了单元所希望安装到的目标,这里是 multi-user.target,表示希望在多用户模式下安装。

这是一个典型的 docker.service 文件的示例,其中定义了 Docker 守护进程的配置和行为,以便 systemd 可以管理它。实际使用时,你可以根据需要进行自定义配置。

2.2 为什么要写docker.service

docker.service 是一个 systemd 单元文件,用于管理 Docker 守护进程(Docker daemon)的启动和停止。systemd 是一个在现代 Linux 系统中广泛使用的初始化系统和服务管理器。

编写 docker.service 文件的目的是为了定义 Docker 守护进程的配置和行为,以便 systemd 可以管理它。这样,你就可以使用 systemd 命令来启动、停止、重启和管理 Docker 守护进程。

docker.service 文件通常位于 /etc/systemd/system/ 目录下,它包含了一些配置项,如 Docker 守护进程的启动参数、依赖关系、工作目录等。通过编辑 docker.service 文件,你可以自定义 Docker 守护进程的行为,以满足你的特定需求。

在编写 docker.service 文件后,你可以使用以下命令来管理 Docker 守护进程:

  • 启动 Docker 守护进程:sudo systemctl start docker
  • 停止 Docker 守护进程:sudo systemctl stop docker
  • 重启 Docker 守护进程:sudo systemctl restart docker
  • 查看 Docker 守护进程状态:sudo systemctl status docker

通过 systemd 管理 Docker 守护进程,可以使其在系统启动时自动启动,并提供了更方便的管理方式。

2.3 启动docker

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
systemctl enable docker.service
systemctl start docker

让我们逐行解释每一行代码的含义:

  1. chmod +x /etc/systemd/system/docker.service:这条命令给 /etc/systemd/system/docker.service 文件添加可执行权限。这是为了确保 systemd 可以执行该文件来启动 Docker 服务。
  2. systemctl daemon-reload:这条命令告诉 systemd 重新加载配置文件,以便它能够识别到新的或修改过的服务单元文件。在修改了 /etc/systemd/system/docker.service 文件后,需要运行这个命令来使 systemd 生效。
  3. systemctl enable docker.service:这条命令将 Docker 服务设置为开机启动。它会在系统启动时自动启动 Docker 服务。
  4. systemctl start docker:这条命令启动 Docker 服务。它会立即启动 Docker 守护进程,并使其开始运行容器。

通过执行这些命令,你设置了 Docker 服务的可执行权限,重新加载了 systemd 的配置,将 Docker 服务设置为开机启动,并启动了 Docker 服务。这样,你就可以开始使用 Docker 来管理和运行容器了。

2.5 安装docker-compose

2.5.1 为什么安装

Docker和Docker Compose是两个不同的工具,它们在容器化应用程序的管理和部署方面有不同的作用。

Docker是一个开源的容器化平台,它允许你在隔离的环境中运行应用程序。你可以使用Docker构建、发布和运行容器,每个容器都包含一个完整的应用程序及其依赖项。Docker提供了一种轻量级、可移植和可扩展的方式来打包和部署应用程序。

Docker Compose是一个用于定义和运行多个容器应用程序的工具。它使用YAML文件来配置应用程序的服务、网络和卷等方面的设置。通过Docker Compose,你可以定义一个多容器的应用程序,并使用单个命令来启动、停止和管理这些容器。它简化了多容器应用程序的部署和管理过程,并提供了更高级的功能,如容器间的连接和通信。

虽然Docker本身可以帮助你管理单个容器,但当你需要管理和部署多个容器组成的应用程序时,Docker Compose会更加方便和强大。它允许你使用一个文件来定义整个应用程序的架构,并且可以轻松地启动、停止和扩展多个容器。

因此,尽管你已经安装了Docker,但如果你计划管理和部署多容器应用程序,建议你安装Docker Compose。它将为你提供更好的工具和功能来简化多容器应用程序的管理和部署过程。

2.5.2 安装

离线下载安装包

上传到服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cp docker-compose /usr/local/bin/

sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

让我为你解释每一行代码的含义和作用:

  1. cp docker-compose /usr/local/bin/ 这行代码将docker-compose二进制文件复制到/usr/local/bin/目录下。/usr/local/bin/通常是存放可执行文件的标准位置之一。这样做的目的是为了将docker-compose添加到系统的可执行文件路径中,使其可以在任何位置运行。
  2. sudo chmod +x /usr/local/bin/docker-compose 这行代码赋予/usr/local/bin/docker-compose文件可执行权限。通过添加可执行权限,你可以在终端中直接运行docker-compose命令,而不需要指定完整的文件路径。
  3. sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose 这行代码创建了一个符号链接(symbolic link),将/usr/local/bin/docker-compose链接到/usr/bin/docker-compose。这样做的目的是为了在/usr/bin/目录下创建一个指向docker-compose的符号链接,使得docker-compose命令可以在系统的任何位置使用。
  4. docker-compose --version 这行代码用于验证Docker Compose是否成功安装。执行该命令后,会显示Docker Compose的版本信息。如果成功安装,你将看到类似于docker-compose version X.XX.X的输出,其中X.XX.X表示安装的Docker Compose版本号。

这些命令的目的是将Docker Compose安装到系统的可执行文件路径中,并确保它具有适当的权限。符号链接的创建可以让你在任何位置使用docker-compose命令,而不需要指定完整的文件路径。最后,通过运行docker-compose --version命令,你可以验证安装是否成功,并查看安装的Docker Compose版本号。

3 /usr/local/bin/ 和 /usr/bin 区别

/usr/local/bin/usr/bin是Linux系统中存放可执行文件的两个常见目录。它们之间的区别如下:

  1. /usr/local/bin:这个目录用于存放本地安装的软件的可执行文件。当您手动从源代码编译并安装软件时,通常会将其安装到/usr/local目录下。/usr/local/bin/usr/local目录中的一个子目录,用于存放这些软件的可执行文件。这样做的好处是,它使得本地安装的软件与系统默认软件分开,避免了对系统软件的干扰。例如,如果您安装了一个自定义版本的某个软件,它的可执行文件可能会放在/usr/local/bin目录下。
  2. /usr/bin:这个目录是系统默认的可执行文件目录。大多数Linux发行版会将系统自带的软件的可执行文件放在这个目录下。当您安装新的软件包时,它的可执行文件通常会被放在/usr/bin目录下,以便所有用户都可以访问和使用这些软件。

总结起来,/usr/local/bin目录用于存放本地安装的软件的可执行文件,而/usr/bin目录用于存放系统默认的软件的可执行文件。

  • 在随便一个目录下,都可以执行以上文件夹里面的可执行文件吗?

不是所有目录下都可以执行/usr/local/bin/usr/bin中的可执行文件。执行一个可执行文件的前提是该文件所在的目录在系统的PATH环境变量中。

PATH环境变量是一个包含多个目录路径的列表,系统会按照列表中的顺序搜索这些目录来查找可执行文件。当您在命令行中输入一个命令时,系统会按照PATH环境变量中的顺序在这些目录中查找对应的可执行文件。

通常情况下,/usr/local/bin/usr/bin都会被包含在PATH环境变量中,因此您可以在终端中从任意目录执行这些目录中的可执行文件。但是,如果您的PATH环境变量没有包含这些目录,或者被其他目录覆盖了,那么您就无法直接执行这些可执行文件。

您可以通过在终端中运行echo $PATH命令来查看当前的PATH环境变量的值。如果需要在其他目录中执行/usr/local/bin/usr/bin中的可执行文件,可以使用完整的文件路径来运行这些文件,例如/usr/local/bin/executable/usr/bin/executable

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
docker离线安装配置
这里下载docker-20.10.8.tgz,如果无法下载可以在网盘下载: docker安装包下载 提取码:qw9f 将docker-20.10.8.tgz文件上传到系统上:
全栈程序员站长
2022/11/09
9470
docker离线安装配置
开源元数据管理平台Datahub最新版本0.10.5——安装部署手册(附离线安装包)
开源元数据管理平台Datahub近期得到了飞速的发展。已经更新到了0.10.5的版本,来咨询我的小伙伴也越来越多,特别是安装过程有很多问题。本文经过和群里大伙伴的共同讨论,总结出安装部署Datahub最新版本的部署手册,希望能帮助到大家。
用户6070864
2023/09/06
1.9K0
开源元数据管理平台Datahub最新版本0.10.5——安装部署手册(附离线安装包)
Linux 离线安装docker的过程
有时候会遇到服务器不能联网的情况,这样就没法用yum安装软件,docker也是如此,针对这种情况,总结了一下离线安装docker的步骤
用户4464623
2020/09/10
3.5K0
Docker离线安装(支持GPU)
https://download.docker.com/linux/static/stable/x86_64/
拉爷
2024/02/27
1.7K0
Docker离线安装教程「建议收藏」
上传portainer包https://download.csdn.net/download/qq_27884227/85501735
全栈程序员站长
2022/11/10
8210
Docker离线安装教程「建议收藏」
docker 离线安装及命令整理[通俗易懂]
1. 从官方下载Docker安装包并上传至虚拟机 https://download.docker.com/linux/static/stable/x86_64/
全栈程序员站长
2022/11/09
4.3K0
Docker 离线安装_docker官方中文文档
1、访问docker安装包离线网址:https://download.docker.com/linux/static/stable/x86_64/,下载对应版本 2、上传安装包到指定路径,执行命令 tar -zxvf 安装包.tgz 3、进入docker目录,将目录下的所有文件拷贝至“/usr/bin/” [root@CentOS opt]# cd docker/ [root@CentOS docker]# cp * /usr/bin/ 4、执行“vim /etc/systemd/system/docker.service”命令,然后在文件中添加以下内容,然后按“esc”,退出编辑状态,输入“:qw”退出文件编辑。 [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target 5、给文件增加可执行权限 chmod +x /etc/systemd/system/docker.service systemctl daemon-reload 6、开机启动 systemctl enable docker.service 7、启动docker systemctl start docker.service
全栈程序员站长
2022/11/09
1.4K0
Docker - 离线安装
概述 公司有一个项目需要使用Docker进行部署。 客户公司网络不能连接外网。 系统为centos7,内核为3.10.0。 具体内容 一、下载Docker安装包 下载地址 二、上传解压 tar -xvf docker-18.06.3-ce.tgz 三、将解压出来的docker文件内容移动到 /usr/bin/ 目录下 cp docker/* /usr/bin/ 四、将docker注册为service vim /etc/systemd/system/docker.service [Unit] Descrip
断痕
2021/01/21
1.7K0
【Docker】专题五:Docker 配置文件详解
docker.service 是 Docker 守护进程(Docker Daemon)在 Linux 系统上使用 systemd 作为初始化系统时的服务单元文件,它定义了 Docker 服务启动、停止和管理的方式。
行者Sun
2024/09/02
1.5K0
【Docker】专题五:Docker 配置文件详解
Linux中安装部署docker
Docker是一个开源的容器化平台,用于帮助开发者更轻松地构建、打包、分发和运行应用程序。它基于容器化技术,利用操作系统层级的虚拟化来隔离应用程序和其依赖的环境。通过使用Docker,开发者可以在不同的主机上快速部署和扩展应用程序,而不需要担心环境配置和依赖问题。
九仞山
2023/10/14
3K0
Linux中安装部署docker
Harbor离线部署
docker安装包地址:https://download.docker.com/linux/static/stable/x86_64/ docker-compose安装包地址:https://github.com/docker/compose/releases harbor安装包地址:https://github.com/goharbor/harbor/releases
范一刀
2021/09/29
1.3K0
Docker安装harbor仓库、更改端口、跨服务器访问
添加如下配置: –insecure-registry 192.168.2.4:自己的端口
gang_luo
2020/08/13
4.4K0
Docker安装harbor仓库、更改端口、跨服务器访问
kubernetes 二进制安装(v1.20.16)(三)容器运行时
本集群选择 docker 作为容器运行时。 文章目录 创建docker管理文件 分发文件 核对文件 启动docker 创建docker管理文件 #在k8s-master上进行操作,为了方便操作,将可执行文件和配置文件进行了分离 #可执行文件放在/opt/TLS/download/docker/bin下 #配置文件放在/opt/TLS/download/docker/cfg下 ​ cd /opt/TLS/download mkdir -p bin mv docker/* bin mv bin docker m
看、未来
2022/06/09
3480
k8s部署之kubesphere安装与配置使用教程
Docker-Compose下载路径:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64
小炜同学
2022/11/12
7.3K0
k8s部署之kubesphere安装与配置使用教程
CentOS7 安装 Trilium Notes 中文版 折腾记
仓库:https://github.com/Nriver/trilium-translation
独立观察员
2023/12/26
9790
CentOS7 安装 Trilium Notes 中文版 折腾记
Docker入门之安装Docker
本文操作基于CentOS7,其它Linux发行版本可能存在差异,分基于yum的在线安装和基于二进制包的离线安装(实际还有基于rpm包的离线安装),离线安装可以更多地了解Docker及相关体系。
一见
2020/01/15
2.4K0
Centos离线安装docker
下载tagbao tar -xvf docker-18.06.1-ce.tgz cp docker/* /usr/bin/ vim /etc/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=netw
用户10325771
2023/03/01
1.7K0
统信服务器操作系统【docker 介绍及部署安装】
Docker是一个基于go语言开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中,然后发布到任何支持Docker的Linux或Windows操作系统上。Docker基于内核的轻量级虚拟化技术,使用沙箱机制,容器之间相互隔离。通过容器来打包应用、解耦应用和运行平台Docker 可以快速创建和删除容器,实现快速迭代,节约开发、测试及部署的时间。
Kevin song
2024/05/11
2.7K0
统信服务器操作系统【docker 介绍及部署安装】
Docker容器入门操作介绍
Docker是一个C/S结构的项目,有Docker Client、RESTAPI、Docker Server、images、container、 volumes、network组成。
王先森sec
2023/04/24
4380
Docker容器入门操作介绍
ARM架构鲲鹏主机BClinux离线安装docker步骤
脚本参考自 https://github.com/docker/docker-ce
雪人
2024/10/18
3140
相关推荐
docker离线安装配置
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验