beacon-chain+ethereum打镜像及推送镜像

部署详情
1、编写Dockerfile镜像
beacon chain对应Dockerfile文件

# 使用 Ubuntu 20.04 作为基础镜像
FROM ubuntu:20.04# 安装必要的系统库和工具
RUN apt-get update && \apt-get install -y curl && \apt-get clean# 创建存储数据的目录
RUN mkdir -p /data/prysm
WORKDIR /data/prysm# 下载 Prysm beacon chain 二进制文件并将其复制到 /usr/local/bin/beacon-chain
RUN curl -Lo /usr/local/bin/beacon-chain https://github.com/prysmaticlabs/prysm/releases/download/v5.0.3/beacon-chain-v5.0.3-linux-amd64 && \chmod +x /usr/local/bin/beacon-chain && \ls -l /usr/local/bin/beacon-chainCOPY beacon-start.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/beacon-start.sh# 生成授权密钥并运行 Prysm Beacon Chain
#CMD /bin/sh -c "/usr/local/bin/beacon-chain generate-auth-secret && /usr/local/bin/beacon-chain --accept-terms-of-use --execution-endpoint=http://eth:8551 --jwt-secret=/data/prysm/jwt.hex --checkpoint-sync-url=https://beaconstate.info --genesis-beacon-api-url=https://beaconstate.info --datadir /data/beacondata"
# 设定容器启动时运行的命令
ENTRYPOINT ["/usr/local/bin/beacon-start.sh"]

ethereum对应Dockerfile文件

# 使用 Ubuntu 20.04 作为基础镜像
FROM ubuntu:20.04# 安装必要的系统库和工具
RUN apt-get update && \apt-get install -y curl && \apt-get clean# 创建存储数据的目录
RUN mkdir -p /data/ethdata
WORKDIR /data/ethdata# 下载 eth 二进制文件并将其解压到 /usr/local/bin/geth
RUN curl -Lo /tmp/geth.tar.gz https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.14.0-87246f3c.tar.gz && \tar -xzf /tmp/geth.tar.gz -C /tmp/ && \mv /tmp/geth-linux-amd64-1.14.0-87246f3c/geth /usr/local/bin/ && \chmod +x /usr/local/bin/geth && \rm /tmp/geth.tar.gz# 设定容器启动时运行的命令
ENTRYPOINT ["/usr/local/bin/geth"]

2、beacon chain 对应执行脚本beacon-start.sh文件

# cat beacon-start.sh 
#!/bin/bash/usr/local/bin/beacon-chain generate-auth-secret/usr/local/bin/beacon-chain \--accept-terms-of-use \--execution-endpoint=http://eth:8545 \--jwt-secret=/data/prysm/jwt.hex \--checkpoint-sync-url=https://beaconstate.info \--genesis-beacon-api-url=https://beaconstate.info \--datadir /data/beacondata

3、手动打镜像,存储镜像
beacon chain镜像

/data/docker-compose/eth# docker build -t beacon-chain:v5.0.3 .
[+] Building 1.6s (12/12) FINISHED                                                                                                                                                                                             docker:default=> [internal] load build definition from Dockerfile                                                                                                                                                                                     0.0s=> => transferring dockerfile: 1.13kB                                                                                                                                                                                                   0.0s=> [internal] load metadata for docker.io/library/ubuntu:20.04                                                                                                                                                                          1.5s=> [internal] load .dockerignore                                                                                                                                                                                                        0.0s=> => transferring context: 2B                                                                                                                                                                                                          0.0s=> [1/7] FROM docker.io/library/ubuntu:20.04@sha256:874aca52f79ae5f8258faff03e10ce99ae836f6e7d2df6ecd3da5c1cad3a912b                                                                                                                    0.0s=> [internal] load build context                                                                                                                                                                                                        0.0s=> => transferring context: 388B                                                                                                                                                                                                        0.0s=> CACHED [2/7] RUN apt-get update &&     apt-get install -y curl &&     apt-get clean                                                                                                                                                  0.0s=> CACHED [3/7] RUN mkdir -p /data/prysm                                                                                                                                                                                                0.0s=> CACHED [4/7] WORKDIR /data/prysm                                                                                                                                                                                                     0.0s=> CACHED [5/7] RUN curl -Lo /usr/local/bin/beacon-chain https://github.com/prysmaticlabs/prysm/releases/download/v5.0.3/beacon-chain-v5.0.3-linux-amd64 &&     chmod +x /usr/local/bin/beacon-chain &&     ls -l /usr/local/bin/beaco  0.0s=> CACHED [6/7] COPY beacon-start.sh /usr/local/bin/                                                                                                                                                                                    0.0s=> CACHED [7/7] RUN chmod +x /usr/local/bin/beacon-start.sh                                                                                                                                                                             0.0s=> exporting to image                                                                                                                                                                                                                   0.0s=> => exporting layers                                                                                                                                                                                                                  0.0s=> => writing image sha256:55bbc4ebf584ed73c90d2e57dc5eaff32f3152f238e6c566af48fcc14463797d                                                                                                                                             0.0s=> => naming to docker.io/library/beacon-chain:v5.0.3

eth镜像

/data/docker-compose/eth# docker build -t beacon-ethereum:v1.14.0  .
[+] Building 0.9s (9/9) FINISHED                                                                                                                                                                                               docker:default=> [internal] load build definition from Dockerfile                                                                                                                                                                                     0.0s=> => transferring dockerfile: 732B                                                                                                                                                                                                     0.0s=> [internal] load metadata for docker.io/library/ubuntu:20.04                                                                                                                                                                          0.8s=> [internal] load .dockerignore                                                                                                                                                                                                        0.0s=> => transferring context: 2B                                                                                                                                                                                                          0.0s=> [1/5] FROM docker.io/library/ubuntu:20.04@sha256:874aca52f79ae5f8258faff03e10ce99ae836f6e7d2df6ecd3da5c1cad3a912b                                                                                                                    0.0s=> CACHED [2/5] RUN apt-get update &&     apt-get install -y curl &&     apt-get clean                                                                                                                                                  0.0s=> CACHED [3/5] RUN mkdir -p /data/ethdata                                                                                                                                                                                              0.0s=> CACHED [4/5] WORKDIR /data/ethdata                                                                                                                                                                                                   0.0s=> CACHED [5/5] RUN curl -Lo /tmp/geth.tar.gz https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.14.0-87246f3c.tar.gz &&     tar -xzf /tmp/geth.tar.gz -C /tmp/ &&     mv /tmp/geth-linux-amd64-1.14.0-87246f3c/geth /u  0.0s=> exporting to image                                                                                                                                                                                                                   0.0s=> => exporting layers                                                                                                                                                                                                                  0.0s=> => writing image sha256:7394054b8bf27cd984b3d9e9930be2594d8df2afa16b2ca6eabe70735bf9d717                                                                                                                                             0.0s=> => naming to docker.io/library/beacon-ethereum:v1.14.0

推送镜像

#登录镜像仓库
/data/docker-compose/eth# docker login docker.io
Log in with your Docker ID or email address to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com/ to create one.
You can log in with your password or a Personal Access Token (PAT). Using a limited-scope PAT grants better security and is required for organizations using SSO. Learn more at https://docs.docker.com/go/access-tokens/Username: devocenter
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
# 查询打好的镜像
root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker images
REPOSITORY               TAG       IMAGE ID       CREATED             SIZE
beacon-chain             v5.0.3    55bbc4ebf584   About an hour ago   219MB
beacon-ethereum          v1.14.0   7394054b8bf2   2 hours ago         202MB
# 镜像打tag
root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker tag 7394054b8bf2 devocenter/beacon-ethereum
root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker tag 7394054b8bf2 devocenter/beacon-ethereum:v1.14.0
root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker tag 55bbc4ebf584 devocenter/beacon-chain
root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker tag 55bbc4ebf584 devocenter/beacon-chain:v5.0.3
root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker push devocenter/beacon-ethereum:v1.14.0
The push refers to repository [docker.io/devocenter/beacon-ethereum]
a152e957080c: Pushed 
5f70bf18a086: Pushed 
1d5e5fbbe9db: Pushed 
5e37725372fe: Pushed 
4a1518ebc26e: Mounted from library/ubuntu 
v1.14.0: digest: sha256:659c50b4bba6b08354ad4166b0b471744b4f9be97a416ae8f904adbd2512e2c6 size: 1366
root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker push devocenter/beacon-ethereum
Using default tag: latest
The push refers to repository [docker.io/devocenter/beacon-ethereum]
a152e957080c: Layer already exists 
5f70bf18a086: Layer already exists 
1d5e5fbbe9db: Layer already exists 
5e37725372fe: Layer already exists 
4a1518ebc26e: Layer already exists 
latest: digest: sha256:659c50b4bba6b08354ad4166b0b471744b4f9be97a416ae8f904adbd2512e2c6 size: 1366
root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker push devocenter/beacon-chain:v5.0.3
The push refers to repository [docker.io/devocenter/beacon-chain]
52ca92dcfa3a: Pushed 
1fd23617e726: Pushed 
a421a50af66c: Pushed 
5f70bf18a086: Mounted from devocenter/beacon-ethereum 
719f3a1de368: Pushed 
5e37725372fe: Mounted from devocenter/beacon-ethereum 
4a1518ebc26e: Mounted from devocenter/beacon-ethereum 
v5.0.3: digest: sha256:eaceaa75d9eb9ae14290bc954729f58ccaa859de7119f4fd66fed2945c82b7b3 size: 1780
root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker push devocenter/beacon-chain
Using default tag: latest
The push refers to repository [docker.io/devocenter/beacon-chain]
52ca92dcfa3a: Layer already exists 
1fd23617e726: Layer already exists 
a421a50af66c: Layer already exists 
5f70bf18a086: Layer already exists 
719f3a1de368: Layer already exists 
5e37725372fe: Layer already exists 
4a1518ebc26e: Layer already exists 
latest: digest: sha256:eaceaa75d9eb9ae14290bc954729f58ccaa859de7119f4fd66fed2945c82b7b3 size: 1780

镜像仓库查看镜像
在这里插入图片描述

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

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

相关文章

HarmonyOS开发案例:【计算器】

介绍 基于基础组件、容器组件,实现一个支持加减乘除混合运算的计算器。 说明: 由于数字都是双精度浮点数,在计算机中是二进制存储数据的,因此小数和非安全整数(超过整数的安全范围[-Math.pow(2, 53),Math.…

【稳定检索|投稿优惠】2024年新能源技术与环境工程国际会议(ICNTEE 2024)

2024 International Conference on New Energy Technology and Environmental Engineering 一、大会信息 会议名称:2024年新能源技术与环境工程国际会议会议简称:ICNTEE 2024收录检索:提交Ei Compendex,CPCI,CNKI,Google Scholar等会议官网&…

【运维】如何安装ubuntu-24.04? 如何分区?

如何安装ubuntu-24.04?如何分区 经过一系列折腾,我总结了这几点: (1)在BIOS启动设置里,如果是GPT的硬盘格式,那么对应的就是UEFI的启动方式;如果是MBR的硬盘格式,那么对…

森林消防的新利器:高扬程水泵的应用与优势/恒峰智慧科技

森林是地球上的绿色肺叶,保护森林安全对于维护生态平衡和人类生存环境至关重要。在森林消防领域,高效、快速的灭火设备是保障森林安全的重要武器。近年来,高扬程水泵作为一种新型的消防设备,在森林消防中发挥了重要作用。本文将详…

密室逃脱游戏-第12届蓝桥杯省赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第58讲。 密室逃脱游戏&…

idea Maven 插件 项目多环境打包配置

背景 不同环境的配置文件不一样,打包方式也有差异 1. 准备配置文件 这里 local 为本地开发环境 可改为 dev 名称自定义 test 为测试环境 prod 为生产环境 根据项目业务自行定义 application.yml 配置: spring:profiles:#对应pom中的配置active: spring.…

3月10日PMP考试成绩已出!教你如何快速查询

3月10日PMP考试终于出成绩啦! 2024年3月10日PMP考试成绩正在陆续分批次发布,预计本周成绩会全部出来,目前已经有同学查询到自己的成绩,暂时没查到成绩的同学请耐心等待。 在等待成绩的同时,大家可以先对PMP证书和成绩…

CST电磁仿真软件远场源的导出调用和提取结果【小白必看】

远场源的导出&调用(1) 提取Hybrid仿真所需的远场源! Post-Processing > Tools > Result Templates Tools >Farfield and Antenna Properties > Export Farfields As Source 混合求解(Hybrid Simulation)是对安装在舰船等大型平台上的天线进行仿真…

为什么会查询不到DNS信息?怎么排查?

DNS(域名系统)是将域名转换为相应 IP 地址的关键系统。查询 DNS 信息具有重要作用,通过查询 DNS 信息,我们可以知道域名对应的 IP 地址,这是最主要的信息,使设备能与目标服务器进行通信;其次是域…

IPO压力应变桥信号处理系列隔离放大器 差分信号隔离转换0-10mV/0-20mV/0-±10mV/0-±20mV转4-20mA/0-5V/0-10V

概述: IPO压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。该模块内部嵌入了一个高效微功率的电源,向输入端和输出端…

快速了解OV证书和DV证书的区别及使用场景

OV(Organization Validation,组织验证)证书和DV(Domain Validation,域名验证)证书都是SSL/TLS证书,用于保护网站数据传输的安全性和提供身份验证,但两者在验证深度、信任级别、提供的…

【Java EE】多线程(三)线程状态

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更…

Spring AOP(3)

目录 Spring AOP原理 代理模式 代理模式中的主要角色 静态代理 动态代理 总结:面试题 什么是AOP? Spring AOP实现的方式有哪些? Spring AOP实现原理 Spring使用的是哪种代理方式? JDK和CGLIB动态代理的区别? Spring AOP原理 代理模式 代理模式, 也叫委托模式. …

JavaScript 流程控制语句详解:if语句、switch语句、while循环、for循环等

JavaScript,作为一种广泛使用的编程语言,它的流程控制语句是构建逻辑和实现功能的基础。流程控制语句包括条件语句、循环语句和转向语句,它们是编程中不可或缺的部分。 接下来,我们将一一解析这些语句,带你走进JavaSc…

刷代码随想录有感(58):二叉树的最近公共祖先

题干: 代码: class Solution { public:TreeNode* traversal(TreeNode* root, TreeNode* p, TreeNode* q){if(root NULL)return NULL;if(root p || root q)return root;TreeNode* left traversal(root->left, p, q);TreeNode* right traversal(r…

NVIDIA Omniverse Cloud API支持数字孪生开发,可解决复杂AI问题 | 最新快讯

在全球范围内,价值超过 50 万亿美元的重工业市场,正在竞相实现数字化。 基于此,为帮助数字孪生技术更好地赋能千行百业,AI 企业 NVIDIA 在架构底层算力的同时,也搭建了 NVIDIA AI Enterprise 和 Omniverse 两大平台。 …

【UGUI】实现长按播放动画松手停止动画播放

场景部分,需要把角色和动画组件、动画控制器、动画片段准备好 然后设置好转换动画的参数RUN (bool类型的) 创建一个普通按钮在UGUI里面,为按钮添加组件EventTrgger 在这个组件里面添加PointerDown 和PointerUp 这两个分别代表按下和弹起! 他…

【Python小技巧】matplotlib不显示图像竟是numpy惹的祸

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、问题:df.plot() 显示不出图像二、尝试各种解决办法1. 增加matplotlib.use,设定GUI2. 升级matplotlib版本 三、numpy是个重要的库1. …

如何永久删除服务和相关文件夹

如何永久删除服务和文件夹? How can I remove the service and folder permanently? 以AlibabaProtect服务为例 takeown /f "C:\Program Files (x86)\AlibabaProtect sc delete AlibabaProtect我运行了上述操作,并通过任务管理器杀死了“阿里巴巴…

HTML5+CSS3+JS小实例:旋转渐变光标

实例:旋转渐变光标 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale…