阿里云服务器ECS安装Docker(CentOS 7.x)

卸载旧版本的Docker

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。
bash 复制代码
#删除Docker相关源
sudo rm -f /etc/yum.repos.d/docker*.repo
#卸载旧版本的Docker和相关的软件包
sudo yum -y remove \
docker-ce \
containerd.io \
docker-ce-rootless-extras \
docker-buildx-plugin \
docker-ce-cli \
docker-compose-plugin
  1. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

安装社区版Docker

  1. 执行以下命令安装Docker社区版本。
bash 复制代码
#添加Docker软件包源
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
#安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
#启动Docker
sudo systemctl start docker
#设置Docker守护进程在系统启动时自动启动
sudo systemctl enable docker
  1. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

如下图回显信息所示,表示Docker已安装成功。

配置镜像源

  1. 当Docker Hub镜像拉取受网络影响时,可配置Docker镜像源提升速度。但请注意,镜像源配置不适用于docker search命令,因为它直接查询Docker Hub。 您需要编辑Docker的配置文件/etc/docker/daemon.json,如果该文件不存在,您需要创建它。
perl 复制代码
{
  // "registry-mirrors": ["<加速器地址>"]
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://fsp2sfpr.mirror.aliyuncs.com/"
  ]
}
  1. 完成编辑后,保存文件并退出。然后,为了使新的配置生效,您需要重启Docker服务。这可以通过执行以下命令来完成。

    sudo systemctl restart docker

创建简单Web程序镜像

以下是创建基于Nginx镜像的简单Web程序镜像。

  1. 构建Web程序镜像。
bash 复制代码
#拉取Nginx镜像
sudo docker pull nginx:latest
#创建Dockerfile设置Nginx作为基础镜像,并在Web服务器的根目录创建一个显示Hello World!的index.html文件。
sudo tee Dockerfile <<-'EOF'
FROM nginx:latest
RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
EOF
#构建镜像,镜像名称为hello-world
sudo docker build . -t hello-world:latest
  1. 启动Web程序镜像的容器,并且命名容器名称为hello-world。默认使用80端口,注意避免端口占用问题。
arduino 复制代码
sudo docker run -d -p 80:80 --name hello-world hello-world:latest
  1. 执行curl http://localhost命令,验证Web程序是否正确显示Hello World!。 6. 停止当前简单Web程序。
arduino 复制代码
sudo docker stop hello-world
相关推荐
↘"LYong7 小时前
旧版 CentOS 安装 Docker 完整指南(附国内镜像加速)
linux·运维·docker
满意的星月9 小时前
基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)
docker·微服务·架构
sukioe11 小时前
【无标题】
后端·docker·centos
HAPPY酷12 小时前
【ROS2】VMware + Docker 运行 Gazebo 崩溃与“假死”排查实录
qt·docker·容器
想你依然心痛16 小时前
嵌入式容器:Docker与BalenaOS在边缘设备上的实践——容器运行时与OTA
运维·docker·容器
不瘦80斤不改名17 小时前
HalfCart:基于LBS的1\.5km本地拼单系统全栈实践与踩坑复盘
python·docker·typescript·pycharm
Tronlong创龙1 天前
SBC-TL3588 单板机 / EPC-TL3588 工控机 Docker 开发手册(二)
docker·开发板·嵌入式开发·硬件开发·工业控制
AI服务老曹1 天前
视觉算法模型管理完整流程:多版本上线、灰度发布与回滚的落地实践
人工智能·docker·音视频
辉的技术笔记1 天前
拆解 Dify 的 Celery:15 个队列都在干什么
docker
渣渣盟2 天前
Docker 运维常用命令手册(含扩容与实战)
运维·docker·容器