使用 Docker 18 安装 Eureka:解决新版本 Docker 不支持的问题

使用 Docker 18 安装 Eureka:解决新版本 Docker 不支持的问题

在微服务架构中,Eureka 是一个常用的注册中心,用于服务发现和管理。然而,随着 Docker 版本的更新,一些新版本的 Docker 对 Eureka 的支持并不友好。如果你正在使用 Docker 18 并希望安装 Eureka,本文将为你提供详细的解决方案。
网上大多是编译源码构建eureka镜像,很麻烦。这里使用docker快速部署。
(前面是docker18与docker compose安装过程)

问题背景

Eureka 是 Netflix 开源的服务发现框架,它允许微服务在启动时注册自己,并在运行时动态发现其他服务。在 Docker 环境中,Eureka 通常以容器的形式运行。然而,Docker 18 及更高版本对某些配置和依赖项进行了调整,这可能会导致 Eureka 容器无法正常启动。

Docker 18 的环境要求

在开始安装之前,我们需要确保操作系统和内核版本满足 Docker 18 的要求。Docker CE 支持 64 位版本的 CentOS 7,并且要求内核版本不低于 3.10。虽然 CentOS 7 满足最低内核要求,但由于内核版本较低,部分功能(如 overlay2 存储层驱动)可能无法使用,或者不够稳定。

卸载旧版本 Docker

如果你的系统中已经安装了旧版本的 Docker(如 dockerdocker-engine),需要先将其卸载。运行以下命令:

bash 复制代码
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

安装 Docker CE

在安装 Docker CE 之前,建议先配置 Docker 的 YUM 源。由于国内网络环境的特殊性,建议使用阿里云的 Docker YUM 源。以下是安装步骤:

1. 安装依赖包

运行以下命令安装必要的依赖包:

bash 复制代码
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

2. 添加 Docker YUM 源

运行以下命令添加阿里云的 Docker YUM 源:

bash 复制代码
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

如果你在执行上述命令时遇到问题,可能是由于网络原因导致链接无法访问。请检查链接的合法性,并适当重试。如果问题仍然存在,建议尝试其他可用的 Docker YUM 源。

3. 安装 Docker CE

运行以下命令安装 Docker CE:

bash 复制代码
sudo yum install docker-ce-18.03.0.ce

4. 启动 Docker 服务

安装完成后,启动 Docker 服务并设置为开机自启:

bash 复制代码
systemctl start docker
systemctl enable docker

安装 Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。安装 Docker Compose 的步骤如下:

bash 复制代码
yum install -y docker-compose

【这里开始部署eureka】使用 Docker Compose 安装 Eureka

接下来,我们将使用 Docker Compose 来安装 Eureka。首先,创建一个 docker-compose.yml 文件,内容如下:

yaml 复制代码
version: '3'

services:
  eureka-server:
    image: springcloud/eureka
    ports:
      - "8761:8761"
    environment:
      - JAVA_OPTS=-Xmx512m
    networks:
      - eureka-network

networks:
  eureka-network:
    driver: bridge

1. 创建 docker-compose.yml 文件

将上述内容保存到一个名为 docker-compose.yml 的文件中。

2. 启动 Eureka 容器

在包含 docker-compose.yml 文件的目录下,运行以下命令启动 Eureka 容器:
(例如文件在 /opt/docker-compose.yml ,先cd /opt 然后docker-compose up -d)

bash 复制代码
docker-compose up -d

3. 验证 Eureka 是否正常运行

打开浏览器,访问 http://localhost:8761。如果一切正常,你应该能看到 Eureka 的管理界面。

相关推荐
lichenyang4532 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4532 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4532 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4532 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson6 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy7 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭7 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩8 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵9 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1119 天前
LM Studio Docker 部署——本地大模型一键启动
docker