OpenEuler 下 Docker 安装、配置与测试实例

文章目录


前言

Docker 安装大致分为包管理器安装、脚本安装、离线手动安装、容器编排工具安装、桌面版安装等,每种安装各有特点,但涉及知识面不少,初次安装往往不成功,笔者采用离线手动安装的方式,虽然安装步骤较多,但比较可靠,而且学到更多的Docker安装知识,笔者每步都做了测试,希望对读者有帮助。

1. 环境准备

1、宿主机win10

2、VMware Workstation pro17

3、安装1个虚拟机OpenEuler 24.03

2. 下载 Docker

采用离线安装的方式,

OpenEuler系统下先安装下载工具wget,然后选择安装的docker的版本,下载地址:

https://download.docker.com/linux/static/stable/如图所示。

c 复制代码
# wget -P /opt https://download.docker.com/linux/static/stable/x86_64/docker-20.10.23.tgz
# tar zxvf docker-20.10.23.tgz 
# cp docker/* /usr/bin/
# vim /etc/systemd/system/docker.service  (创建配置文件)

3.配置服务文件

在docker.service配置文件中,复制如下内容:

c 复制代码
#这段配置是用于 Linux 系统中的 systemd 服务管理器的 Docker 服务单元文件。下面是对每个部分的注释和解释:
[Unit]
Description=Docker Application Container Engine
# 描述服务单元,这里是 Docker 应用容器引擎。

Documentation=https://docs.docker.com
# 提供服务单元的文档链接,这里是 Docker 官方文档的 URL。

After=network-online.target firewalld.service
# 指定服务依赖,Docker 服务将在 network-online.target(网络在线)和 firewalld.service(防火墙服务)之后启动。

Wants=network-online.target
# 指定服务依赖,Docker 服务想要 network-online.target(网络在线)先启动,但不是强制等待。

[Service]
Type=notify
# 设置服务启动类型为 notify,意味着服务在启动时会通知 systemd 它已经准备好接收请求。

ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=127.0.0.1
# 定义启动命令,这里是启动 dockerd 服务,并禁用 SELinux 安全策略,允许从本地的不安全仓库拉取镜像。

ExecReload=/bin/kill -s HUP $MAINPID
# 定义重新加载服务时执行的命令,这里是发送 HUP 信号给主进程,使服务重新加载配置。

LimitNOFILE=infinity
# 设置进程可以打开的文件描述符的数量上限为无限大。

LimitNPROC=infinity
# 设置用户可以创建的进程数量上限为无限大。

LimitCORE=infinity
# 设置核心文件(core dump)的大小上限为无限大。

TimeoutStartSec=0
# 设置服务启动超时时间为 0 秒,即不设置超时。

Delegate=yes
# 允许服务文件中的某些设置被传递给执行的进程。

KillMode=process
# 设置杀死服务的方式为仅杀死主进程,不杀死子进程。

Restart=on-failure
# 设置服务在失败时重启。

StartLimitBurst=3
# 设置在 StartLimitInterval 指定的时间内,允许启动失败的次数。

StartLimitInterval=60s
# 设置一个时间窗口,用于限制服务启动失败的次数。

[Install]
WantedBy=multi-user.target
# 指定在 multi-user.target(多用户目标)时,这个服务单元应该被启动。

这个单元文件配置了 Docker 服务的基本行为,包括服务的启动、重启策略、资源限制等。通过这个配置,系统管理员可以控制 Docker 服务的运行方式。

4.配置加速器加速下载docker镜像

vim /etc/docker/daemon.json

配置内容如图所示:

执行如下命令,分别为docker服务授权可写权限,同时启动docker服务,并且开设置开机即启动服务,最后显示显示docker版本信息。

c 复制代码
# chmod +x /etc/systemd/system/docker.service
# systemctl daemon-reload
# systemctl start docker
# systemctl enable docker
# docker --version

Docker version 20.10.23, build 7155243

5. 验证 Docker 安装

bash 复制代码
docker pull hello-world

如果输出了 hello-world 的信息,说明 Docker 安装成功。

相关推荐
荒--18 分钟前
Ubuntu软件包查询,弹框下载文件
运维·服务器·ubuntu
‎ദ്ദിᵔ.˛.ᵔ₎40 分钟前
Linux:对有关 SIGCHLD 的深层理解
linux·运维·服务器
aichitang20241 小时前
QCU 2.0.0:补齐 Windows、Linux 与 GNOME Wayland
linux·运维·windows·ai·agent·ai编程
Lv_沐曦1 小时前
Linux 上的Web文件管理器-filebrowser
linux·运维·服务器
科技每日热闻1 小时前
电气设备综合维保服务商怎么选?从预防性维护到数字化运维,看懂五个关键能力——企业选择维保合作伙伴,不能只看“坏了能不能修”,更要看能否覆盖资产与系统的长期运营
大数据·运维·人工智能
最强小杰2 小时前
Claude Opus 4.8 调用报 529 怎么办?并发限制触发过载——退避策略与降级方案完整指南
运维·网络·python·ai
我科绝伦(Huanhuan Zhou)2 小时前
磐维数据库(PanWeiDB)日常运维命令总结
运维·数据库
AscendKing2 小时前
Docker Compose 一键部署 SkyWalking 10.2.0 + Elasticsearch8.11,分布式链路追踪完整实战
elasticsearch·docker·skywalking·链路追踪·微服务监控
深盾科技_Virbox2 小时前
软许可、加密锁和云许可混合使用时,授权接口应该怎么统一?
运维·网络·安全
逐流人2 小时前
Redis内存数据库:从数据类型到集群部署
linux·运维·数据库·redis·缓存·云计算