查看当前系统版本命令
uname -a

查看端口占用情况
netstat -tulpn

1、卸载旧版本(如果有)
如果之前安装过旧版本的 Docker,先卸载以避免冲突:

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、CentOS 7 官方源已停止维护,建议替换为阿里云等国内镜像源

# 备份原配置
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 下载阿里云 CentOS 7 镜像源
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 清除并生成缓存
sudo yum clean all
sudo yum makecache

3、安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

4、添加 Docker 官方仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5、安装 Docker Engine

sudo yum install -y docker-ce docker-ce-cli containerd.io

6、启动 Docker CE并设置开机自启

 sudo systemctl enable docker
 sudo systemctl start docker

7、安装 Docker Compose
访问 Docker Compose 官方发布页 查看最新版本(例如 v2.23.3),替换下方版本号后执行

# 删除旧配置的文件
sudo rm -f /usr/local/bin/docker-compose
# 若创建过软链接,也一并删除
sudo rm -f /usr/bin/docker-compose

# 通过官方 GitHub 仓库下载指定版本的二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 如果网络较慢,可替换为国内镜像源(如阿里云)
sudo curl -L "https://mirrors.aliyun.com/docker-toolbox/linux/compose/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 创建软链接(可选,确保命令全局可用)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

8、 添加镜像加速器地址

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
	  "https://自己的阿里云地址.mirror.aliyuncs.com",
	  "https://registry.cn-hangzhou.aliyuncs.com/",
	  "https://docker.1panel.live/"
  ]
}
EOF

9、 重启 Docker 服务使配置生效

sudo systemctl daemon-reload
sudo systemctl restart docker

10、使用docker启动nginx

cd /home/nginx

sudo tee /home/nginx/docker-compose.yml <<-'EOF'
services:
  nginx:
    image: nginx:latest
    container_name: my-nginx
    ports:
      - "81:80"
    volumes:
      - ./conf:/etc/nginx/conf.d
    restart: unless-stopped
EOF

# 启动nginx容器
docker-compose up -d
# 查看容器是否启动
docker ps
# 停止容器
docker-compose down

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐