以下是基于 openEuler 系统从零搭建 Web 服务器的完整流程,包含 Docker 安装和 Nginx 服务器配置华为仓库,适合零基础用户操作。分为两个核心部分:
一、openEuler 安装 Docker
官方推荐(不建议)
1.1.1 更新dnf系统软件包仓库
do dnf update -y
1.1.2 安装 Docker openEuler 官方推荐通过 dnf 直接安装:
do dnf install docker -y
1.1.3 配置与启动 Docker
#启动Docker服务
sudo systemctl start docker
#设置开机自启
do systemctl enable docker
#验证安装
sudo docker --version
✅ 成功标志:显示 Docker 版本号(如 `Docker version 24.0.7`)。
安装成功直接看 二、Nginx容器安装
1.2.1【可选】安装最新版Docker(建议)
(一)、先增加docker官方仓库:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
✅输出结果
[root@apisql ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
添加仓库自:https://download.docker.com/linux/centos/docker-ce.repo
[root@apisql ~]#
(二)、修改配置文件
2.1进入目录
#进入目录
cd /etc/yum.repos.d/
✅输出结果
[root@apisql ~]# cd /etc/yum.repos.d/
[root@apisql yum.repos.d] ll -l
总用量 8
-rw-r--r--. 1 root root 1919 6月 14 15:13 docker-ce.repo
-rw-r--r--. 1 root root 1957 12月 27 22:25 openEuler.repo
[root@apisql yum.repos.d]# vi docker-ce.repo
| openEuler 版本 | 推荐替换值 | 兼容依据 |
| 20.03 / 22.03 LTS系列 | 7 | 兼容 CentOS 7.9(官方文档确认) |
| 24.03 LTS 及以后 | 8 或 stream8 | 基于 RHEL 8 生态,兼容 CentOS Stream 8 |
将第3行baseurl中 $releasever 换为 8示例如下
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
或者,也可以批量查询替换
:1,$s/\$releasever/8/g
其中,:1,$ 表示从第一行到最后一行,s 表示替换操作,\$releasever 表示要被替换的字符串,7 表示替换后的字符串,/g 全局
2.3、安装指定版本
先查询一下(可选)
yum list docker-ce --showduplicates|sort -r
✅示例安装的版本
[root@apisql yum.repos.d]# yum list docker-ce --showduplicates|sort -r
docker-ce.x86_64 3:24.0.2-1.el7 docker-ce-stable
docker-ce.x86_64 3:24.0.1-1.el7 docker-ce-stable
docker-ce.x86_64 3:24.0.0-1.el7 docker-ce-stable
docker-ce.x86_64 3:23.0.6-1.el7 docker-ce-stable
……
……
Docker CE Stable - x86_64 40 kB/s | 60 kB 00:01
Available Packages
[root@apisql yum.repos.d]#
安装指定版本,安装命令如下,随时间推移,大家看到更新的版本,推荐安装新版本
yum -y install docker-ce-24.0.2
二、Nginx容器安装
宿主机 (openEuler)
│
├─── 📦 用 DNF 安装软件 (dnf install)
│ │
│ └── 从 hub.oepkgs.net 下载 RPM 包
│
└─── 🐳 用 Docker 运行容器✅
│
└── 从 docker.io/openeuler/openeuler 拉取基础镜像
用 DNF 安装软件 (dnf install)
sudo dnf install nginx -y # 安装
sudo systemctl start nginx # 启动服务
sudo systemctl enable nginx # 设置开机自启
2.1.1 使用 Docker 运行容器,部署 Nginx Web 服务器
直接拉取 Nginx 镜像
sudo docker pull nginx:latest
安装成功直接看 三、启动容器部署网站
2.2.1【可选】🛠️ Docker 拉取镜像失败解决方案:Unable to find image 'nginx:latest' locally 问题详解
(一)Docker镜像加速器配置
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://hub-mirror.c.163.com"]
}
EOF
附:1配置文件注意事项:
确保JSON格式正确,特别是引号和逗号的使用
如果使用多个镜像源,应按稳定性排序,例如:
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.baidubce.com"
]
}
(二)测试镜像源连通性
curl -v https://hub-mirror.c.163.com/v2/
(三).拉取镜像
docker pull nginx:latest
🛠️ Docker 拉取镜像失败解决方案:Unable to find image 'nginx:latest' locally 问题详解
附 server can't find docker.mirrors.ustc.edu.cn: NXDOMAIN原因
你的系统当前使用的 DNS 服务器无法解析
docker.mirrors.ustc.edu.cn这个域名。📌 注:若网易镜像源不稳定,可替换为华为云
"https://swr.cn-south-1.myhuaweicloud.com"
2.3.1【可选】配置华为云SWR镜像仓库
# 配置华为云SWR
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://hub-mirror.c.163.com"],
"insecure-registries": ["swr.cn-south-1.myhuaweicloud.com"]
}
EOF
# 登录华为云获取SWR访问权限
docker login swr.cn-south-1.myhuaweicloud.com
# 拉取镜像
docker pull swr.cn-south-1.myhuaweicloud.com/open_euler/openeuler:24.03-lts
重启Docker
sudo systemctl restart docker
使用 docker ps 命令检查镜像
docker ps -a # 查看所有容器(包括运行中和已停止的)
✅输出示例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 nginx:latest "/docker-entrypoint…" 2 hours ago Up 2 hours 80/tcp web-server
华为云拉取
docker pull swr.cn-south-1.myhuaweicloud.com/library/nginx:latest
三、启动容器部署网站
3.1启动容器
sudo docker run -d \
--name my_nginx \
-p 8080:80 \
nginx:latest
【可选】华为镜像启动
docker run -d --name my_nginx -p 8080:80 \
swr.cn-south-1.myhuaweicloud.com/library/nginx:latest
-d:后台运行容器--name my_nginx:自定义容器名称-p 8080:80:端口映射(宿主机端口:容器端口)
验证运行状态 ✅
docker ps | grep my_nginx # 查看容器是否显示"Up"
3.2访问Nginx服务
浏览器访问 http://<服务器IP>:8080,显示Nginx欢迎页即成功。
【可选】
本地部署网站目录及测试页面
docker run -d --name my_nginx \
-p 8080:80 \
-v /宿主机/nginx.conf:/etc/nginx/nginx.conf \
-v /宿主机/html:/usr/share/nginx/html \
swr.cn-south-1.myhuaweicloud.com/library/nginx:latest
例如
mkdir -p ~/web-server/html
echo "<h1>Welcome to openEuler Web Server!</h1>" > ~/web-server/html/index.html
- 参数说明:
-p 8081:80:将容器 8081 端口映射到主机 80 端口
-v ...:挂载本地网页目录到容器
docker run -d --name my_nginx \
-p 8081:80 \
-v ~/web-server/html:/usr/share/nginx/html \
swr.cn-south-1.myhuaweicloud.com/library/nginx:latest
浏览器访问 http://服务器 IP 地址:8081
⚠️ 常见问题处理
未启用容器
输出 hare/nginx/html nginxInable to find image 'nginx:latest' locally
docker ps -a # 查看所有容器(包括运行中和已停止的)
网络问题
验证 DNS 与网络(针对连接问题)
# 测试基础网络连通性
ping -c 4 www.baidu.com
# 测试 Docker Hub 域名解析
nslookup registry-1.docker.io
# 测试镜像源连通性
curl -v https://hub-mirror.c.163.com/v2/
防火墙配置(可选)若系统防火墙启用,需开放 80 端口:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload

1640

被折叠的 条评论
为什么被折叠?



