ARM46+KylinOS 环境下 Docker 安装与 Nginx 镜像操作实践_nginx arm docker
目录
一、Docker 安装前准备
1. 系统环境检查
2. 安装依赖包
二、Docker 安装过程
1. 添加 Docker 官方 GPG 密钥
2. 添加 Docker 软件源
3. 安装 Docker
三、安装过程中的错误及解决
1. 错误过程
2. 错误原因分析
3. 解决方法
四、Nginx 镜像操作
1. 拉取 Nginx 镜像
2. 查看镜像
3. 启动 Nginx 容器
4. 查看容器状态
5. 停止和删除容器
一、Docker 安装前准备
1. 系统环境检查
首先通过uname -a命令查看系统内核信息,确认当前系统为 ARM46 架构的 KylinOS 系统。再使用df -h命令检查磁盘空间,避免因空间不足导致安装失败。经检查,系统资源满足 Docker 安装要求。同时,确保系统已联网,以便后续下载安装包和镜像。
2. 安装依赖包
Docker 的运行需要一些基础依赖包的支持,在 KylinOS 系统中,使用命令sudo apt-get update更新软件包列表,接着执行sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common安装必要的依赖包,为 Docker 的安装做好铺垫。
二、Docker 安装过程
1. 添加 Docker 官方 GPG 密钥
使用命令curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg添加 Docker 官方 GPG 密钥,确保后续下载的 Docker 安装包来源可靠。
2. 添加 Docker 软件源
执行sudo add-apt-repository \"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] Index of linux/ubuntu/ $(lsb_release -cs) stable\"命令,添加 Docker 软件源。这里要特别注意arch=arm64参数,它指定了 ARM64 架构的安装包,若使用默认设置,在 ARM46 架构的 KylinOS 系统上会因架构不匹配导致安装失败。
3. 安装 Docker
添加完软件源后,使用sudo apt-get update再次更新软件包列表,然后执行sudo apt-get install -y docker-ce docker-ce-cli containerd.io命令安装 Docker。安装完成后,使用sudo systemctl start docker启动 Docker 服务,并通过sudo systemctl enable docker设置开机自启。
三、安装过程中的错误及解决
1. 错误过程
在执行添加 Docker 软件源命令sudo add-apt-repository \"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] Index of linux/ubuntu/ $(lsb_release -cs) stable\"时,系统提示E: The repository \'Index of linux/ubuntu/ focal Release\' does not have a Release file.错误。最初误以为是网络问题导致无法获取 Release 文件,尝试多次重新执行命令,甚至更换网络环境,但问题依旧存在。
2. 错误原因分析
深入排查发现,KylinOS 系统基于 Ubuntu 开发,但版本号与 Ubuntu 原生版本存在差异。命令中$(lsb_release -cs)获取的版本代号在 Docker 软件源中不被完全兼容,导致无法正确识别 Release 文件。
3. 解决方法
手动指定与 KylinOS 系统兼容的 Ubuntu 版本代号,将命令修改为sudo add-apt-repository \"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] Index of linux/ubuntu/ bionic stable\"(假设 KylinOS 与 Ubuntu 18.04(bionic)兼容)。修改后再次执行更新软件包列表和安装 Docker 的命令,成功完成 Docker 的安装。
四、Nginx 镜像操作
1. 拉取 Nginx 镜像
Docker 安装完成后,使用命令sudo docker pull nginx拉取 Nginx 镜像。由于 Docker Hub 上有多种 Nginx 镜像版本,默认拉取的是最新版本。若想拉取特定版本,可使用sudo docker pull nginx:版本号的格式,例如sudo docker pull nginx:1.23.1。
2. 查看镜像
拉取完成后,通过sudo docker images命令查看已下载的镜像列表,确认 Nginx 镜像是否成功拉取。此时可以看到 Nginx 镜像的相关信息,包括仓库名称、标签、镜像 ID、创建时间和大小等。
3. 启动 Nginx 容器
使用sudo docker run -d -p 80:80 --name mynginx nginx命令启动 Nginx 容器。其中-d表示以守护进程模式运行容器,-p 80:80将容器内部的 80 端口映射到主机的 80 端口,--name mynginx为容器命名。启动成功后,在浏览器中输入服务器 IP 地址,即可访问 Nginx 默认页面。
4. 查看容器状态
使用sudo docker ps命令查看正在运行的容器列表,确认 Nginx 容器是否正常运行。若想查看所有容器(包括已停止的容器),可使用sudo docker ps -a命令。
5. 停止和删除容器
当不再需要 Nginx 容器时,使用sudo docker stop mynginx命令停止容器,然后通过sudo docker rm mynginx命令删除容器。若要强制删除正在运行的容器,可使用sudo docker rm -f mynginx命令。
通过本次在 ARM46+KylinOS 环境下安装 Docker 并操作 Nginx 镜像的实践,充分体会到应用迁移适配过程中环境差异带来的挑战。每一个错误的出现都是学习的契机,通过解决问题,进一步加深了对系统架构、软件安装原理的理解,为后续更多应用的迁移适配工作打下坚实基础。