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

这篇具有很好参考价值的文章主要介绍了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 /etcd

VOLUME /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 /app

COPY ./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镜像部署收尾了文章来源地址https://www.toymoban.com/news/detail-813083.html

到了这里,关于etcd官方docker镜像及dockerfile问题处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Docker定制镜像(Dockerfile)

    Docker定制镜像(Dockerfile)

             dockerfile 是用来构建 docker 镜像的 命令参数脚本 文件。         镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、

    2024年02月07日
    浏览(9)
  • 【docker】dockerfile构建镜像

    【docker】dockerfile构建镜像

    Dockerfile 是一个文本文件,文件中包含了一条条的指令(instruction),用于构建镜像。每一条指定构建一层镜像,因此每一条指令的内容,就是描述该层镜像应当如何构建。 1、dockerfile是 自定义镜像 的一套规则 2、dockerfile由多条指令构成,dockerfile的每一条指令都会对应于do

    2024年02月05日
    浏览(21)
  • 【Docker】Dockerfile构建最小镜像

    【Docker】Dockerfile构建最小镜像

    接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihui\\\'s Code World ! !🥳🥳 前言 一.Dockerfile是什么 二.Dockerfile的基本结构 三.基础镜像的选择 四. 自定义镜像 0.jar包的准备 1.jar同级目录下创建Dockerfile文件 2.创建镜像 3.运行镜像 (1)上传jre (2)编辑Dockerdil

    2024年01月17日
    浏览(18)
  • Docker | 使用Dockerfile制作镜像

    Docker | 使用Dockerfile制作镜像

    ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:Docker系列 ✨特色专栏: MySQL学习 🥭本文内容: Docker | 使用Dockerfile制作镜像 📚个人知识库: [Leo知识库]https://gaoziman.gitee.io/blogs/),欢迎大家访

    2024年02月04日
    浏览(47)
  • 【docker】Dockerfile自定义镜像

    【docker】Dockerfile自定义镜像

            📝个人主页: 五敷有你         🔥系列专栏: 中间件 ⛺️稳中求进,晒太阳 常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。 而要自定义镜像,就必须先了解镜像的结构才行。 镜像是将应用程序及其需要的系统函数库、环境、配

    2024年04月15日
    浏览(16)
  • Docker之Dockerfile构建镜像

    Docker之Dockerfile构建镜像

       🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《Docker之Dockerfile构建镜像》。🎯🎯 🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁         在上一期有关Docker的博客分享中我们学习到了Docker的一

    2024年01月18日
    浏览(20)
  • docker (八)-dockerfile制作镜像

    docker (八)-dockerfile制作镜像

    dockerfile通常包含以下几个常用命令: FROM   打包使用的基础镜像 WORKDIR   相当于cd命令,进入工作目录 COPY   将宿主机的文件复制到容器内 RUN   打包时执行的命令,相当于打包过程中在容器中执行shell脚本,通常用来安装应用程序所需要的依赖、设置权限、初始化配置文件

    2024年02月21日
    浏览(52)
  • Docker容器:docker镜像的创建及dockerfile

    Docker容器:docker镜像的创建及dockerfile

    创建镜像有三种方法:基于现有镜像创建、基于本地模板创建及基于dockerfile创建 1.1 启动镜像 1.2 生成新镜像 2.1 OPENVZ 下载模板 2.2 导入容器生成镜像 3.1 dockerfile结构及分层 (1)dockerfile结构大致分为4个部分 基础镜像信息 维护者信息 镜像操作指令 容器启动时执行指令 Dockerfil

    2024年02月11日
    浏览(46)
  • 初识Docker:(7)查询Docker镜像的DockerFile

    初识Docker:(7)查询Docker镜像的DockerFile

    我们知道了根据dockerfile来制作镜像,如果给你一个现成的镜像,你能逆向查看出dockerfile吗? 否则,你怎么知道该镜像使用的是CMD还是ENTRYPOINT ,使用的是shell格式还是CMD格式?由于格式决定了docker内部如何产生PID1进程,因此有必要逆向一下。 对于dockerfile,我们首先要有基本

    2024年02月12日
    浏览(16)
  • Docker-Dockerfile构建镜像

    Docker-Dockerfile构建镜像

    Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使用 Dockerfile 去构建镜像好比使用 pom 去构建 maven 项目一样,有异曲同工之妙 centos alpine 1. 空间大小差异, alpine 默认 5M 左右, centos 等都在 200M 左右。 2. 默认软件包差异, alpin

    2024年01月17日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包