docker 篇
创始人
2024-11-19 11:33:31
0

简单描述下,有时候真的要熟练,否者上了生产真的不知所措。

背景:有个项目上线了,依赖的项目没有上线,因此需要紧急发布,发现:打包环境有问题,第一、架构不一致,第二、环境隔离导出镜像包慢,第三、本地打包dockerfile不一致导致加载配置有问题。

面对以上问题,我们需要知道的事

打包机器写死打包 amd,目标机器arm64,从而折腾了不少时间。

侧面说明对架构变换打包不熟练,对go 程序来说,打包docker镜像,只需要修改go build相关参数即可,具体为: GOARCH=arm64 GOOS=linux go build -ldflags="-s -w" 源文件 目标文件

在打包机器上生成的镜像需要导出,只需要知道镜像名,然后命令如下

docker save -o xxx.tar  当然可以对xxx.tar进行压缩(如果包比较大的话) gzip xxx.tar 

接着就是下载下来,由于部分公司会存在跳板机的情况,因此需要先下载到跳板机,然后才能通过跳板机来下载文件到本地。其过程如下

跳板机执行 scp user@ip:/ddd/target.tar .  然后本地sftp到跳板机 sftp user@ip 会车输入密码  接着cd到跳板机相应目录,然后本机lcd到下载目录,直接get target.tar文件即可

拿到tar文件,需要把tar文件加载成docker镜像,以下命令

docker load -i target.tar  

接着就是启动镜像容器

docker run -d --name xxx --restart=aways -v 本地目录:镜像目录  target/image 

当然还有很多参数可以配置,这个就需要熟练度了。

当此时,如果容器起不来,怎么办?譬如加载配置失败

因此有可能你需要进去容器把配置放到相应目录(在你没有把目录映射出来的时候)

即 docker exec -it 容器id /bin/bash 走不通,因为容器没起来,所以你可以通过镜像来进入修改   docker run -it --entrypoint /bin/bash 镜像  即可进入容器修改。

当然啦针对docker build编译不通架构镜像,我们可以通过

docker buildx build -t myimage:v1 --platform linux/arm64 .

来打包相应平台的包

上面其实涉及到的内容还算多吧,需要掌握一定的知识才能对当前遇到的问题做到心中有数,而心不乱。 

相关内容

热门资讯

文档是什么图标图片 文档通常表示为一个带有象征性页角的图标,可能是一张纸或者一本打开的书,有时还会有一支笔或文字符号来强...
火炬之光2狂战士技能详解(火炬... 狂战士以高输出著称,技能注重物理攻击与生存能力。灰烬战士套装应搭配增强力量、暴击和生命的装备,发挥其...
国外的社交软件(5款交友软件实... 1. Facebook:全球最大的社交网络平台,提供聊天、分享、游戏等功能。,2. Instagra...
中国移动怎么改服务密码(更改手... 登录中国移动官网或APP,进入个人中心,选择“安全设置”或“密码管理”,按提示操作即可修改服务密码。...
ps如何修改图片上已有的文字 使用Photoshop打开图片,选择“编辑”菜单中的“自由变换”,调整文字位置和大小,然后使用“文本...
qy语音 qy语音是一款语音聊天软件,提供清晰流畅的语音通话功能,适用于游戏开黑、团队协作等场景,帮助用户实现...
苹果按钮旋转什么意思啊 苹果按钮旋转是指苹果手机上的音量调节按钮,可以通过旋转来调整音量大小。苹果按钮旋转指的是苹果遥控器上...
crimaster积分是什么 crimaster积分是犯罪大师app中的一种虚拟货币,用户可以通过参与答题、完成任务等方式获得,用...
流量怎么计算的(关于流量的计算... 流量通常指单位时间内通过某一截面的流体体积。计算方法为:$Q = A cdot v$,Q$是流量,$...
win10专业版亮度调节条不见... win10专业版亮度调节条不见了,可以尝试以下方法解决:,,1. 检查显示器驱动程序是否更新;,2....