etcd官方docker镜像及dockerfile问题处理

解决下我之前etcd使用docker镜像启动的坑

1、问题镜像docker-file:

这个dockerfile看着看不出来问题,但如果有人真的执行我之前两篇文章的文件,就会有问题,什么问题呢,无法连接到etcd,由于我是刚装上docker,排查了一圈,包括docker网络及是否是本地docker的网络问题,排查了一圈之后,发现原来是我的dockerfile的问题:

# 使用一个轻量级的基础镜像
FROM golang:latest# 设置工作目录
WORKDIR /app# 将本地编译好的可执行文件复制到容器中,此处etcd_server.exe是我提前打好的etcd3.5的可编译文件
COPY ./server/etcd_server .# 暴露应用程序监听的端口(如果有的话)
EXPOSE 2379# 启动应用程序
CMD ["./etcd_server"]

2、解决方案

2.1 换成正规官网的etcd镜像

这个换成官网的etcd,我看默认启动的还是127.0.0.1,所以在启动命令的时候要加入"--advertise-client-urls=http://0.0.0.0:2379", "--listen-client-urls=http://0.0.0.0:2379"

# 使用官方 etcd 镜像
FROM quay.io/coreos/etcd:latest# 将 etcd 数据目录复制到容器中
WORKDIR /etcdVOLUME /data# 暴露 etcd 默认端口
EXPOSE 2379 2380# 启动脚本
CMD ["etcd"]
2.2 修改镜像file

问题是由于在docker中监听的是127.0.0.1,所以无法暴露在外面,修改CMD ["./etcd_server", "--advertise-client-urls=http://0.0.0.0:2379", "--listen-client-urls=http://0.0.0.0:2379"],此处让在容器中使用监听所有端口,问题得到解决:

# 使用更轻量的基础镜像
FROM golang:latest# 设置工作目录并复制本地文件到容器中
WORKDIR /appCOPY ./etcd_server .# 确保 etcd_server 具有可执行权限
RUN chmod +x etcd_server# 暴露应用程序监听的端口(如果有的话)
EXPOSE 2379# 启动应用程序
CMD ["./etcd_server", "--advertise-client-urls=http://0.0.0.0:2379", "--listen-client-urls=http://0.0.0.0:2379"]

当然我还尝试了,在镜像打包好,然后把etcd_server在docker容器中直接手动启动,这个是无法解决的,由于docker中该服务并没有启动,所以端口没有暴露出去

此处算是把etcd的docker镜像部署收尾了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/620288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11k+star 开源笔记应用真香 centos部署教程

leanote binary installation on Mac and Linux (En) life edited this page on Jul 21, 2017 10 revisions Pages 26 Home How to develop leanote 如何开发leanote How to install leanote on Ubuntu? How to Upgrade Leanote Install Mongodb leanote api leanote …

js页面输出的方式

JavaScript 可以通过以下方式在页面中输出内容: 使用 document.write() 方法,将文本字符串直接写入 HTML 文档中。 document.write("Hello World!");使用 innerHTML 属性,向元素的内部插入 HTML 代码。 document.getElementById(&…

开源监控服务一瞥:Prometheus、Grafana、Zabbix、Nagios、Icinga和Open-Falcon

前言 随着信息技术的发展,监控服务在维护系统稳定性和性能方面变得越来越重要。本文将比较一些流行的开源监控服务,以帮助你选择适合你需求的解决方案。 监控服务对比 监控服务特点优势不足性能扩展性安全性Prometheus- 多维度数据模型- 监控容器化环…

MySQL之导入、导出远程备份

一、Navicat工具导入、导出 1.1 导入 第一步: 右键,点击运行SQL文件 第二步: 选择要运行的SQL,点击开始 第三步: 关闭即可 1.2 导出 第一步: 右键选择,导出向导 第二步: 选择SQL脚…

1.3MATLAB变量及其操作

变量 变量是内存单元的一个抽象,在MATLAB中,变量以字母开头,后接数字下划线构成,MATLAB中变量名最多占据 63 个字符。变量区分大小写标准函数及命令一般使用小写字母 赋值语句 变量 表达式(;)表达式(;)总结:加分号&…

C++ 实现游戏(例如MC)键位显示

效果: 是不是有那味儿了? 显示AWSD,空格,Shift和左右键的按键情况以及左右键的CPS。 彩虹色轮廓,黑白填充。具有任务栏图标,可以随时关闭字体是Minecraft AE Pixel,如果你没有装(大…

约瑟夫环问题解决

链表 struct List {int data;struct List* next; }创建链表 单链表 实现 struct List* listCreate() {int data;struct List* head NULL;struct List* pre NULL;struct List* current NULL;while(scanf("%d",&data) && data ! -1){current (stru…

使用numpy处理图片——灰阶影像

大纲 载入图像灰阶处理lightnessaverageluminosity 灰阶(Gray scale)影像是每个像素只有一个采样颜色的图像。 载入图像 import numpy as np import PIL.Image as Imageimg Image.open(lena.png) data np.array(img)灰阶处理 我们有三种方法来生成这…

Linux中常使用的命令之ls、cd、pwd、mkdir、rmdir

ls: 列出目录 cd:切换目录 pwd:显示目前的目录 mkdir:创建一个新的目录 -m :配置文件的权限-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来! rmdir:删除一个空的目录 注意这…

基本数据结构 | 并查集

基本介绍 并查集主要实现两个操作: 合并两个集合查询某个元素的祖宗节点 并查集的两个优化: 路径压缩: O ( l o g n ) O(logn) O(logn)按秩合并: O ( l o g n ) O(logn) O(logn),代码比较复杂,一般不单…

基于springboot时间管理系统源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括时间管理系统的网络应用,在外国时间管理系统已经是很普遍的方式,不过国内的管理系统可能还处于起步阶段。时间管理系统具有时间管理功能的选择。时间管…

基于强化学习的航线规划算法

基于Q-learning的无人机三维路径规划(含完整C代码)_q-learning 无人机路径规划代码-CSDN博客 基于Q-Learing的路径规划MATLAB仿真系统_强化学习MATLAB资源-CSDN文库

Vue-路由-配置

1. VueRouter 的 使用 (5 2) 参考官网 5个基础步骤 (固定) 下载 VueRouter 模块到当前工程,这里指定版本:3.6.5 yarn add vue-router3.6.5引入 vue-router import VueRouter from vue-router安装注册 Vue.use(VueRouter) // VueRouter插件初始化创…

Unity Shader 属性的定义

Unity Shader 属性的定义 什么是材质球 人的衣服 什么是shader 决定材质跟灯光的作用 Property 若是把shader看作class,那么Property就可以看成成员变量 属性定义的通用格式 Properites{ Property[Property…] } ep:定义一个int: name("dis…

ODBC 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配

常规办法就是64位或32位匹配,如果解决不了,往下看。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓解决方案↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 解压AccessDatabaseEngine_X64.exe&#xf…

为什么选择Go语言编写网络应用程序

关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等,您的关注将是我的更新动力! 作为一名后端开发者,你一定对选择合适的编程语言来编写网络应用程序非常重视。在众多的编程语言中,Go语言…

我在代码随想录|写代码Day7之454.四数相加II ,​ 383. 赎金信​,​ 15. 三数之和​

454.四数相加II 题目 解题思路 四个数字相加的和为0,我们要选俩数组,让他们的笛卡尔积储存在哈希表中,然后我们要找的是这俩数和的相反数,然后就是将后面俩数组相加在后面的数组和中找相反数. 383. 赎金信 解题思路 题目意思是让在字符串1中找到字母组成字符串2所以找字符串1…

弹性盒模型(Flexbox)

弹性盒模型(Flexbox)是一种用于布局和排列元素的CSS模块。它提供了一种灵活的方式来创建响应式的、可伸缩的布局,适应不同尺寸的屏幕和设备。 弹性盒模型通过定义容器(父元素)和其内部的弹性项目(子元素&a…

设备树OF函数操作实验-读取设备节点的整型数组元素的属性

一. 简介 本文学习使用设备树操作 OF函数,读取设备节点的整型的属性值。 读取设备树文件 imx6ull-14x14-evk.dts 中一个设备节点的信息。这里读取 backlight设备节点的 brightness-levels属性值。 二. 读取设备节点的整型数组元素的属性 1. backlight设备节点信…

JPA查询PostgreSQL行排序问题

文章目录 问题处理PostgreSQL排序相关JPA相关介绍 问题 我们项目使用Spring Boot构建,使用JHipster生成业务代码,包含基础的增删改查代码使用PostgreSQL作为业务数据库,使用自动生成的JPA构建数据更新语查询在查询某个实体类的列表时&#x…