阿里云服务器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
相关推荐
超龄超能程序猿21 小时前
Docker GPU插件(NVIDIA Container Toolkit)安装
运维·docker·容器
岳来1 天前
docker 从 Path 值看容器启动命令
运维·docker·容器
IT利刃出鞘1 天前
Docker Compose--解决容器时间不正确的问题
运维·docker·容器
eight *1 天前
docker部署elk+filebeat日志收集分析系统
elk·docker·容器
自己的九又四分之三站台1 天前
docker安装pgvector、age和postgis
运维·docker·容器
幺零九零零1 天前
Docker底层-IPC Namespace(进程间通信隔离)
运维·docker·容器
V胡桃夹子1 天前
Docker快速部署apollo
运维·docker·容器
oMcLin1 天前
如何利用 Podman 替代 Docker:无 root 权限的容器管理实践
docker·dubbo·podman
程序员老赵1 天前
ComfyUI Docker 镜像部署指南
人工智能·docker·aigc
会飞的土拨鼠呀1 天前
Docker 部署开源蜜罐Cowrie
docker·容器·开源