openEuler 上手工安装 Docker 并配置镜像加速与运行 httpd 容器
前言:很多云服务器默认没有安装 Docker,或者系统自带的软件源版本较旧。本文以 openEuler 为例,介绍一种可复现的手工安装方式:下载离线包、编写 systemd 服务文件、配置镜像加速,再拉取镜像并运行容器。全文命令均可在 root 用户下执行,操作前请确认当前系统版本,例如执行 cat /etc/system-release 查看是否为 openEuler release 22.03 LTS。一、安装并部署 Docker。第一步,下载 Docker 离线包:wget https://edu-res.hc-cdn.cn/sharedata/hdinnovation/sandbox/2417/docker-18.09.9.tgz。第二步,解压:tar zxf docker-18.09.9.tgz。第三步,把解压后的可执行文件移动到系统路径:mv docker/* /usr/bin。第四步,编写 systemd 服务文件 /usr/lib/systemd/system/docker.service,内容包括 Unit、Service 与 Install 三段,其中 ExecStart 指向 /usr/bin/dockerd,ExecReload 指向 kill -s HUP $MAINPID。第五步,启动并设置开机自启:systemctl start docker;systemctl enable docker。第六步,验证版本:docker version,能正常输出客户端与服务端版本即表示安装成功。二、配置镜像加速。由于直接访问 Docker 官方镜像源在国内可能较慢,可以把镜像加速地址写入 /etc/docker/daemon.json(文件不存在时手动新建),例如配置 registry-mirrors 为华为云 SWR 镜像地址,保存后执行 systemctl restart docker 使配置生效。三、镜像与容器管理。拉取 httpd 镜像:docker pull httpd。也可以用离线 tar 包导入镜像,例如先下载 centos.tar,再执行 docker load -i centos.tar,随后用 docker images 查看本地镜像;不再需要的镜像可用 docker rmi centos:7 删除。运行容器时,建议一次把端口映射、目录挂载和容器名写清楚,例如:docker run --privileged -it -d -p 80:80 --name datahttpd -v /data/:/var/www/httpd/ httpd。其中 -d 表示后台运行,-p 表示宿主机 80 端口映射到容器 80 端口,-v 表示把宿主机 /data 目录挂载到容器内的 /var/www/httpd 目录。最后用 docker ps -a 查看容器状态,容器处于运行中即表示部署成功,随后可以在浏览器中通过云服务器绑定的弹性公网 IP 访问 80 端口验证。四、常见问题。1)远程登录失败时,先检查安全组是否放通 22 端口,必要时一键放通所有端口再重试;2)docker 命令提示服务未启动时,先执行 systemctl status docker 排查服务文件路径与权限;3)拉取镜像缓慢时,优先检查 daemon.json 是否写对、是否已重启 docker 服务;4)容器启动后立即退出时,用 docker logs 查看容器日志,多数是端口冲突或挂载目录不存在导致。结语:手工安装的好处是每一步都可控:离线包版本固定、服务文件可见、镜像源可替换。掌握上述流程后,再去使用一键安装脚本或容器编排工具时,也能更快定位问题。
- 点赞
- 收藏
- 关注作者
评论(0)