阿里云服务器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
相关推荐
Agome994 小时前
Docker之自定义jkd镜像上传阿里云
阿里云·docker·容器
天上掉下来个程小白15 小时前
Docker-14.项目部署-DockerCompose
运维·docker·微服务·容器
星霜笔记18 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
数据知道21 小时前
容器化部署:用Docker封装机器翻译模型与服务详解
docker·容器·机器翻译
敲上瘾1 天前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
伊成1 天前
Docker 部署 Nginx 完整指南
nginx·docker·容器
落日漫游1 天前
K8s核心组件全解析
运维·docker·运维开发
江湖有缘1 天前
【Docker项目实战】使用Docker部署Notepad轻量级记事本
docker·容器·notepad++
BTU_YC1 天前
docker compose部署mysql
mysql·adb·docker