当前位置: 首页 > news >正文

吴桥网站安徽建设工程信息网怎么打不开了

吴桥网站,安徽建设工程信息网怎么打不开了,建网站权威公司,深圳网上注册公司流程图背景 公司为了做信创项目的亮点#xff0c;需要将现有的一套在X86上运行的应用系统迁移到ARM服务器上运行#xff0c;整个项目通过后端Java#xff0c;前端VUEJS开发通过CICD做成Docker镜像在K8S里面运行。但是当前的CICD产品不支持ARM的镜像构建#xff0c;于是只能手工构…背景 公司为了做信创项目的亮点需要将现有的一套在X86上运行的应用系统迁移到ARM服务器上运行整个项目通过后端Java前端VUEJS开发通过CICD做成Docker镜像在K8S里面运行。但是当前的CICD产品不支持ARM的镜像构建于是只能手工构建ARM镜像。以下是一些踩坑的记录希望能帮大家少踩坑 构建环境 本地电脑 Deepin Linux 23 (Windows的WSL和其他的Linux系统都可以,X86_64架构Docker镜像的本地代理使用v2ray启的socks5://10.32.4.150:10808自建的Harbor仓库地址: harbor.wldc.site 目标 通过本地制作一个双架构的应用运行基础镜像并推送到harbor仓库中 步骤 在本地电脑上安装docker-ce,我是Deepin的系统可以直接运行以下命令安装其它的系统安装方式大家百度以下。 sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list #提示: 如果 $(lsb_release -cs) 返回的不是 buster 或 bullseye可以手动替换为 buster 或 bullseye这里我是替换了的 echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable | sudo tee /etc/apt/sources.list.d/docker.list sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker 配置docker由于国内的环境docker的使用目前非常的不友好就是这个代理就踩了非常多的坑还有就是httpshttp证书受信等各种坑都踩过了。这里一次性把docker的配置都贴了也不知道是那个配置文件解决的问题。为了避免浪费时间建议大家抄配置。 /etc/docker/daemon.json #以下文件10.32.4.150是本地电脑的IP地址运行的socks5代理 {insecure-registries: [10.159.16.19,harbor.wldc.site],proxies: {http-proxy: socks5://10.32.4.150:10808,https-proxy: socks5://10.32.4.150:10808,no-proxy: 11.0.0.0/8,10.0.0.0/8,.example.org,127.0.0.0/8,.cn-southwest-2.myhuaweicloud.com,10.159.16.19,.wldc.site}}/etc/systemd/system/docker.service.d/http-proxy.conf [Service] EnvironmentHTTP_PROXYsocks5://10.32.4.150:10808 EnvironmentHTTPS_PROXYsocks5://10.32.4.150:10808 EnvironmentNO_PROXYlocalhost,127.0.0.1,.wldc.site~/.docker/config.json {auths: {harbor.wldc.site: {auth: YWRtaW46TUxYWFVSS1lncVdrdjdrbQ},https://index.docker.io/v1/: {auth: a2V2aW5ua********A2MzkxOQ}}, proxies: {default: {httpProxy: http://10.32.4.150:10808,httpsProxy: http://10.32.4.150:10808,noProxy: localhost,127.0.0.1,.wldc.site} } }上面3个文件配置完成以后重启docker服务 systemctl daemon-reload systemctl restart docker创建docker的多架构builder默认的builder只支持和宿主机一样的架构镜像高版本的docker19默认也安装了buildx的插件。 #创建命令 docker buildx create --use --bootstrap --name multiarch \--platform linux/amd64,linux/arm64 \--buildkitd-flags --allow-insecure-entitlement network.host \--buildkitd-config ./buildkitd.toml \--driver docker-container \--driver-opt imagebuildkit:buildx-stable-2 \--driver-opt env.HTTP_PROXYsocks5://10.32.4.150:10808 \--driver-opt env.HTTPS_PROXYsocks5://10.32.4.150:10808 \--driver-opt env.NO_PROXY.wldc.site \--driver-opt env.http_proxysocks5://10.32.4.150:10808 \--driver-opt env.https_proxysocks5://10.32.4.150:10808 \--driver-opt env.no_proxy.wldc.site 以上的命令说明 * --buildkitd-flags,这个参数影响非https的harbor的镜像推送 * --buildkitd-config 这个参数是多架构构建builder的配置文件详细的配置可以参考https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md 我就配置了一个镜像仓库非https不然推送镜像的时候要报错 * --driver 这个参数和后面的--driver-opt联合主要是解决镜像代理拉去以及非https的问题 * --driver-opt imagebuildkit:buildx-stable-2 这个是使用的builder的镜像这个参数如果不添加默认使用的moby/buildkit:buildx-stable-1,并且从dockerhub上面去拉。如果本地网络不通就拉不了镜像或者要做定制化就手动本地打包一下镜像。buildkitd.toml 文件内容 insecure-entitlements [ harbor.wldc.site, 10.159.16.19 ] [registry.harbor.wldc.site]http trueinsecure true确认多架构的builder运行成功 #命令 docker buildx ls NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS multiarch* docker-container \_ multiarch0 \_ unix:///var/run/docker.sock running v0.18.1 linux/amd64*, linux/arm64*, linux/amd64/v2, linux/amd64/v3, linux/386 default docker \_ default \_ default running v0.16.0 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/386通过Dockerfile构建多架构镜像并推送到自建的harbor里面 export BUILDKIT_NO_CLIENT_TOKEN1 #这个必须要运行不然builder会去连接docker的auth服务这个坑花了我很多时间。最后在这里找到了https://forums.docker.com/t/docker-build-fails-while-docker-pull-works-as-expected/144116/5 docker buildx build --platformlinux/amd64,linux/arm64 \ --network host \ --add-host harbor.wldc.site:10.159.16.19 \ --build-arg HTTP_PROXYsocks5://10.32.4.150:10808 \ --build-arg HTTPS_PROXYsocks5://10.32.4.150:10808 \ --build-arg NO_PROXYlocalhost,127.0.0.1,.wldc.site \ --build-arg http_proxysocks5://10.32.4.150:10808 \ --build-arg https_proxysocks5://10.32.4.150:10808 \ --build-arg no_proxylocalhost,127.0.0.1,.wldc.site \ --push -t harbor.wldc.site/base/openeuler:22.03-lts-sp4 . 画重点 如果harbor是用的域名访问需要把这个域名写入到运行的builder的容器里面宿主机配置了host不管用–add-host 参数也不管用如果大家发现了有其它的方法请留言给我谢谢。以下是部署 rootKevinLiu-PC:/tmp# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9b774b15a81f buildkit:buildx-stable-2 buildkitd --config … About an hour ago Up About an hour buildx_buildkit_multiarch0 rootKevinLiu-PC:/tmp# docker exec -it 9b774b15a81f sh / # cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 9b774b15a81f 10.159.16.19 harbor.wldc.site / # 登录harbor检测推送的多架构的镜像 总结 在多架构构建的过程中遇到了很多问题都于网络有关目前国内的情况就是这样没有办法。同时多架构的镜像构建对于Dockerfile也有要求针对Java这种语言已经有JVM做了跨平台编译出来的制品可以直接跨平台但是如果是golang的应用在编译和Dockerfile的时候都要独立处理。比如如下的Dockerfile,最后希望大家少踩坑。 # 第一步构建阶段在构建的时候buildx会同时拉两种架构的镜像 FROM golang:1.18-alpine AS builder # 设置环境变量 ENV CGO_ENABLED0 \GOOSlinux \GO111MODULEon # 声明用于判断架构的参数 ARG TARGETARCH # 工作目录 WORKDIR /app # 拷贝源代码 COPY . . # 下载依赖 RUN go mod tidy # 针对不同架构执行操作,如果有特殊处理可以在这个判断里面事项。当然如果Dockerfile具有通用性可以不做判断 RUN if [ $TARGETARCH amd64 ]; then \echo Building for amd64...; \elif [ $TARGETARCH arm64 ]; then \echo Building for arm64...; \fi# 构建应用不同的镜像打出来的二进制文件不一样 go build -o main . # 第二步运行阶段 FROM alpine:latest # 安装时区数据和证书 RUN apk add --no-cache ca-certificates tzdata # 设置工作目录 WORKDIR /root/ # 从构建阶段复制可执行文件 COPY --frombuilder /app/main . # 暴露端口可选 EXPOSE 8080 # 启动容器 CMD [./main]#构建命令示例 docker buildx build --platform linux/amd64,linux/arm64 -t harbor.wldc.site/dev/demo:v1.0.0 -f Dockerfile .
http://www.hkea.cn/news/14386261/

相关文章:

  • 宜昌建站黄骅贴吧11万
  • 设计漂亮的网站dedecms 做的医院网站
  • 如何注册网站域名和购买虚拟主机网站权重多少4
  • flash网站首页上海集团网站建设公司好
  • 网络营销推广方案创意廊坊seo排名
  • 网站建设维护学习苏州做管网gis的网站
  • 东莞网站推广渠道有哪些网天下信息技术有限公司网站
  • 网站建设 seo优化开发商建设审批网站
  • 电子商务网站建设讨论鄂尔多斯公司网站建设
  • go做网站网页版游戏网站
  • 做暧暧暖网站河池网站开发工程师招聘网
  • 新校区建设专题网站江苏企业网站排名优化
  • 做外发的网站郑州网站建设做推广吗
  • 买了域名不备案行吗seo短期课程
  • 做网站页面大小多大网站模版html
  • 网站的建设 想法创建一个网页多少钱
  • 法学网站阵地建设江苏网站推广
  • 网站树状型结构优化四叶天代理ip官网
  • 手机当服务器建网站中国建站平台
  • 做英文网站公司ps做网站效果图都是按几倍做
  • 南通市建设局网站马建明做网站网站判刑多少年
  • 精品网站建设费用 搜搜磐石网络优秀网站设计推荐
  • c2c网站有哪些?骏驰网站建设
  • 如何使用开源程序做网站网站建设专家如何选
  • 营销网站建设都是专业技术人员吗支付宝 wordpress 插件
  • 安徽省建设厅网站职称申报用哪个语言做网站比较好
  • 福州网站建设 网络服务wordpress插件放哪
  • 专业网站建设网页推广手机app开发定制公司
  • 适合女生做的网站合优人才网下载
  • 成都哪里有做网站的便宜网站建设公司哪家好