docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > 欧拉系统部署Docker

欧拉系统部署Docker最佳实践指南

作者:瑞瑞绮绮

本文给大家介绍欧拉系统部署Docker最佳实践指南,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

背景

现在国产化系统在各行各业普及,而Docker部署在欧拉系统上与主流的CentOS、Redhat、Ubuntu 在一些细节上有所差异,正好有项目用到,于是把经验分享一下。

整体架构流程

技术名词解释

欧拉系统(openEuler)

欧拉系统是由华为开发的开源Linux发行版,基于CentOS构建,面向企业级应用场景。其特点包括支持ARM/x86/GPU等多种架构,提供高性能、高安全性及长周期维护支持。主要应用于云计算、大数据和边缘计算领域。

CentOS

CentOS(Community Enterprise Operating System)是基于Red Hat Enterprise Linux(RHEL)源代码重新编译而成的免费Linux发行版。其优势在于完全兼容RHEL的稳定性和企业级功能,但无官方商业支持。2020年后转为CentOS Stream,变为RHEL的上游开发分支。

Red Hat Enterprise Linux(RHEL)

RHEL是由Red Hat公司开发的商业Linux发行版,针对企业服务器和工作站设计。提供长期技术支持(通常10年)、安全更新及专业服务,需订阅授权。其稳定性与安全性使其成为金融、电信等行业的主流选择。

Ubuntu

Ubuntu是由Canonical公司维护的Debian系Linux发行版,以用户友好性和丰富的软件生态著称。提供LTS(长期支持)版本(5年维护周期)和半年更新版本。广泛应用于桌面环境、云服务(如OpenStack)及物联网领域。

Docker

Docker 是一种开源的容器化平台,允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。容器在运行时与其他容器隔离,共享主机操作系统内核,但拥有独立的文件系统、网络和进程空间。

Docker Compose

Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 YAML 文件(默认名 docker-compose.yml)配置服务、网络和卷,实现一键启动、停止和管理容器组。

Docker与Docker Compose关键区别

技术细节

欧拉系统环境下载和检测

准备一台电脑,内存至少8G,cpu i5, 存储建议至少500G
U盘: 驱动USB2.0/3.0, 存储最少16GB
openEuler社区 下载ISO,我用的是openEuler 24.09, 通过刻盘工具把ISO写入到U盘,这里不做介绍,有空出一篇。

安装后,通过ssh工具登录,执行如下命令检查

[root@localhost ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.09"
ID="openEuler"
VERSION_ID="24.09"
PRETTY_NAME="openEuler 24.09"
ANSI_COLOR="0;31"

Docker安装

查看yum镜像源

[root@localhost ~]# ll /etc/yum.repos.d/
总计 16
-rw-r--r--. 1 root root 2027 2024年11月21日 docker-ce.repo
-rw-r--r--. 1 root root 2027 2024年12月16日 docker.repo
-rw-r--r--. 1 root root 2587 2024年 9月18日 openEuler.repo.bak
-rw-r--r--. 1 root root  105 2024年11月21日 openEuler_x86_64.repo
[root@localhost ~]# cat /etc/yum.repos.d/openEuler_x86_64.repo
[repository]
name=openEuler
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-24.09/OS/x86_64/

发现地址是https://mirrors.huaweicloud.com/openeuler/openEuler-24.09/OS/x86_64/

检索需要安装的docker名称

[root@localhost ~]# yum search docker
\Repository docker-ce-stable is listed more than once in the configuration
Repository docker-ce-stable-debuginfo is listed more than once in the configuration
Repository docker-ce-stable-source is listed more than once in the configuration
Repository docker-ce-test is listed more than once in the configuration
Repository docker-ce-test-debuginfo is listed more than once in the configuration
Repository docker-ce-test-source is listed more than once in the configuration
Repository docker-ce-nightly is listed more than once in the configuration
Repository docker-ce-nightly-debuginfo is listed more than once in the configuration
Repository docker-ce-nightly-source is listed more than once in the configuration
Last metadata expiration check: 3:28:00 ago on 2025年09月04日 星期四 13时29分13秒.
======================================================================================== Name Exactly Matched: docker ========================================================================================
docker.x86_64 : The open-source application container engine
======================================================================================= Name & Summary Matched: docker =======================================================================================
docker-buildx-plugin.x86_64 : Docker Buildx plugin for the Docker CLI
docker-ce-rootless-extras.x86_64 : Rootless support for Docker
docker-client.x86_64 : Docker client binary and related utilities
docker-compose.noarch : Multi-container orchestration for Docker
docker-compose-plugin.x86_64 : Docker Compose (V2) plugin for the Docker CLI
docker-model-plugin.x86_64 : Docker Model Runner plugin for the Docker CLI
docker-scan-plugin.x86_64 : Docker Scan plugin for the Docker CLI
pcp-pmda-docker.x86_64 : Performance Co-Pilot (PCP) metrics from the Docker daemon
python3-docker.noarch : A Python library for the Docker Engine API.
python3-docker-pycreds.noarch : Python bindings for the docker credentials store API
python3-dockerpty.noarch : Python library to use the pseudo-tty of a docker container
============================================================================================ Name Matched: docker ============================================================================================
docker-ce.x86_64 : The open-source application container engine
docker-ce-cli.x86_64 : The open-source application container engine
docker-engine.x86_64 : The open-source application container engine

发现有几个docker-ce docker-ce-cli docker-engine

安装Docker引擎

yum install docker-engine docker-ce docker-ce-cli

启动Docker服务

sudo systemctl start docker
sudo systemctl enable docker

验证版本和安装

sudo docker -v
sudo docker run hello-world

设置Docker镜像加速(可选)

编辑配置文件/etc/docker/daemon.json:data-root一般选择磁盘空间较大的那个分区

[root@localhost ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://dockerhub.icu",
    "https://docker.rainbond.cc"
  ],
  "data-root": "/data/docker"
}

重载配置并重启:

sudo systemctl daemon-reload
sudo systemctl restart docker

注意事项

docker run xxx --ulimit nofile=65536:65536 --ulimit nproc=65536:65536 --log-driver=json-file --log-opt max-size=50m --log-opt max-file=10 

docker-compose安装

在安装 docker-compose 之前,需确保 Docker 已正确安装。

下载 docker-compose 二进制文件

从 GitHub 官方仓库下载最新版本的 docker-compose 二进制文件:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予执行权限

为下载的二进制文件添加可执行权限:

sudo chmod +x /usr/local/bin/docker-compose

验证安装

通过检查版本号确认安装是否成功:

docker-compose --version

配置用户权限(可选)

若希望非 root 用户使用 docker-compose,需将用户加入 docker 组:

sudo usermod -aG docker $USER
newgrp docker

总结

最近一直在欧拉系统上使用docker安装各种镜像,与主流的CentOS、Redhat、Ubuntu相比,并无差异,并且感觉性能似乎更好一点。

到此这篇关于欧拉系统部署Docker最佳实践指南的文章就介绍到这了,更多相关欧拉系统部署Docker内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文