校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > Docker buildx構(gòu)建多平臺(tái)鏡像并推送到私有倉(cāng)庫(kù)的方法

Docker buildx構(gòu)建多平臺(tái)鏡像并推送到私有倉(cāng)庫(kù)的方法

熱門(mén)標(biāo)簽:網(wǎng)絡(luò)電話外呼系統(tǒng)開(kāi)發(fā) 北海智能電銷(xiāo)機(jī)器人公司 滴滴急救中心地圖標(biāo)注 申請(qǐng)400電話收費(fèi)標(biāo) 淘寶辦理400電話是多少 菏澤自動(dòng)電銷(xiāo)機(jī)器人公司 艾澤拉斯地圖標(biāo)注 福州語(yǔ)音電銷(xiāo)機(jī)器人招商 外呼線路隨意切換嗎

引子

最近發(fā)現(xiàn)有ARM版Docker,hub.docker.com上也有ARM版本的鏡像,但是ARM版本的Docker鏡像構(gòu)建是個(gè)問(wèn)題。嵌入式程序可以在PC機(jī)上進(jìn)行交叉編譯,不知道Docker是否有交叉構(gòu)建的方案。

方案

目前想到的Docker構(gòu)建ARM鏡像方法有如下幾種。第三種就類(lèi)似交叉編譯。

  1. 使用ARM主機(jī),安裝ARM版本的Docker,docker build出來(lái)的就是ARM版本的鏡像。
  2. 使用Linux的虛擬化軟件,模擬ARM芯片+ Linux,例如qemu。
  3. 使用Docker試驗(yàn)功能buildx,可以構(gòu)建多平臺(tái)的鏡像。

使用Docker buildx構(gòu)建多個(gè)平臺(tái)鏡像

參考如下幾個(gè)鏈接。
https://docs.docker.com/engine/reference/commandline/manifest/
https://docs.docker.com/buildx/working-with-buildx/
https://engineering.docker.com/2019/06/getting-started-with-docker-for-arm-on-linux/

用到了兩個(gè)docker的試驗(yàn)功能,使用時(shí)需要開(kāi)啟試驗(yàn)功能。

docker manifest,manifest是一個(gè)包含了鏡像信息的文件。manifest list是一個(gè)鏡像清單列表,用于存放不同os/arch的鏡像信息。我們可以創(chuàng)建一個(gè)manifest list來(lái)指向兩個(gè)鏡像,然后可以支持多平臺(tái)。

docker buildx,buildx是docker的一個(gè)插件,是下一代docker鏡像構(gòu)建。該插件通過(guò)qemu-user-static翻譯不同平臺(tái)的指令集,達(dá)到在x64上運(yùn)行其他平臺(tái)的程序。buildx實(shí)際使用了moby/buildkit:buildx-stable-1鏡像進(jìn)行多平臺(tái)構(gòu)建。

搭建docker registry多平臺(tái)版本

參考如下鏈接,構(gòu)建docker registry鏡像。
https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/deploying-multi-architecture-docker-registry

搭建dns服務(wù)器,解決buildx bug

buildx插件不走本地hosts文件,必須走dns。這是個(gè)bug,https://github.com/docker/buildx/issues/218,社區(qū)也沒(méi)人管。
解決方法:自建dns,把鏡像的地址buildx.com指向registry的機(jī)器,后續(xù)用nginx。ubuntu有一個(gè)默認(rèn)systemd-resolved,關(guān)閉之后在開(kāi)啟dnsmasq。

使用nginx代理解決命名問(wèn)題

增加nginx代理同時(shí)支持HTTP和HTTPS。buildx這個(gè)插件強(qiáng)行使用了HTTPS,沒(méi)有找到關(guān)閉的地方。
提示證書(shū)問(wèn)題,證書(shū)不是這個(gè)域名的,解決方法: 重新生成一個(gè)證書(shū),域名填自己的。
證書(shū)問(wèn)題,不信任自簽名證書(shū),把自簽名的證書(shū)加到buildx daemon容器的證書(shū)信任鏈中。https://github.com/docker/buildx/issues/80#issuecomment-533844117

nginx增加兩個(gè)配置,解決客戶(hù)端push時(shí)的幾個(gè)問(wèn)題。

# nignx.conf 配置
proxy_ignore_client_abort on; #忽略客戶(hù)端告警
client_max_body_size 0;  #上傳文件大小不限制


# 虛擬主機(jī)配置
server {
  listen 443;
  server_name buildx.com;
  ssl on;
  ssl_certificate crt/server.crt;
  ssl_certificate_key crt/server.key;
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個(gè)協(xié)議配置
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個(gè)套件配置
  ssl_prefer_server_ciphers on;
  location / {
    proxy_pass http://192.168.1.11:81;
  }
}

server {
  listen 80;
  server_name buildx.com;
  location / {
    proxy_pass http://192.168.1.11:81;
  }
}

設(shè)置本地Docker環(huán)境

本地Docker需要開(kāi)啟實(shí)驗(yàn)功能。

  1. 在/etc/docker/daemon.json中配置 "experimental": true,重啟Docker。開(kāi)啟Docker daemon的實(shí)驗(yàn)功能。
  2. 在本地執(zhí)行export DOCKER_CLI_EXPERIMENTAL=enabled,開(kāi)啟Docker Client的實(shí)驗(yàn)功能。
  3. 使用docker version查看實(shí)驗(yàn)功能是否開(kāi)啟。
  4. 執(zhí)行docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3,開(kāi)啟內(nèi)核binfmt_misc功能,可以在當(dāng)前平臺(tái)上執(zhí)行多平臺(tái)的程序。
  5. 查看是否支持aarch64程序。cat /proc/sys/fs/binfmt_misc/qemu-aarch64
  6. 此時(shí)本地的docker可以運(yùn)行各種平臺(tái)的docker容器。比如arm64。可以使用如下命令測(cè)試。
# 拉取arm64版本鏡像并運(yùn)行
docker pull --platform arm64 alpine:3.10
docker run --rm -it alpine:3.10 sh

制作基礎(chǔ)鏡像

可以從hub.docker.com中獲取多個(gè)平臺(tái)的版本,生成manifest list,上傳的registry中。

# pull arm64版本、改名、上傳。 具體鏡像是否支持多平臺(tái),可以到hub.docker.com上看。
docker pull --platform arm64 centos:7
docker tag centos:7 buildx.com/base/centos-arm64:7
docker push buildx.com/base/centos-arm64:7
# pull amd64版本、改名、上傳
docker pull --platform amd64 centos:7
docker tag centos:7 buildx.com/base/centos-amd64:7
docker push buildx.com/base/centos-amd64:7
# 創(chuàng)建manifest list、上傳。
docker manifest create --insecure buildx.com/base/centos:7 buildx.com/base/centos-amd64:7 buildx.com/base/centos-arm64:7
docker manifest push --insecure buildx.com/base/centos:7

構(gòu)建業(yè)務(wù)鏡像

# buildx 可以指定多個(gè)平臺(tái),但是要求Dockerfile中的FROM鏡像必須有對(duì)應(yīng)版本的。
# buildx 打包的鏡像不會(huì)在本地存儲(chǔ),加--push,上傳docker倉(cāng)。或者可以使用--output指定輸出方式。
docker buildx build --platform linux/amd64,linux/arm64 -t buildx.com/base/java-base:openjdk-8-centos7 . --push

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:亳州 賀州 滄州 三沙 丹東 延安 混顯 資陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker buildx構(gòu)建多平臺(tái)鏡像并推送到私有倉(cāng)庫(kù)的方法》,本文關(guān)鍵詞  Docker,buildx,構(gòu)建,多,平臺(tái),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker buildx構(gòu)建多平臺(tái)鏡像并推送到私有倉(cāng)庫(kù)的方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Docker buildx構(gòu)建多平臺(tái)鏡像并推送到私有倉(cāng)庫(kù)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产成人精品免费| 欧美一区二区黄| 欧美精品国产精品| 中文字幕不卡在线播放| 午夜精品爽啪视频| 成人国产亚洲欧美成人综合网 | 亚洲综合丁香婷婷六月香| 久久99热狠狠色一区二区| 在线免费不卡电影| 国产精品高潮呻吟| 国产精品一区在线观看乱码| 777奇米四色成人影色区| 亚洲精品久久嫩草网站秘色| 国产91露脸合集magnet| 日韩美一区二区三区| 亚洲成人在线免费| 色综合久久综合| 国产精品初高中害羞小美女文| 精品一区二区三区在线播放| 欧美精品99久久久**| 亚洲综合成人在线| 99久久久免费精品国产一区二区| 欧美激情在线看| 成人综合婷婷国产精品久久免费| 久久只精品国产| 国产在线乱码一区二区三区| 91精品国产高清一区二区三区| 亚洲成人综合在线| 欧美区视频在线观看| 一个色妞综合视频在线观看| 91极品美女在线| 亚洲精品成人在线| 欧美一a一片一级一片| 一区二区三区小说| 欧美三级在线看| 日本系列欧美系列| 欧美大黄免费观看| 国产精品一级片| 国产精品久久久久永久免费观看| 成人av在线电影| 亚洲美女视频一区| 欧美午夜理伦三级在线观看| 亚洲自拍与偷拍| 日韩精品一区二区三区swag| 韩国一区二区视频| 国产免费久久精品| 在线精品观看国产| 麻豆国产精品官网| 亚洲国产精品传媒在线观看| 91视频xxxx| 偷拍与自拍一区| 2023国产一二三区日本精品2022| 成人免费视频视频在线观看免费 | 欧美一区二区三区系列电影| 国产综合久久久久久鬼色 | 日韩欧美中文一区二区| 国产在线麻豆精品观看| 亚洲欧美日韩久久精品| 欧美久久免费观看| 国产麻豆午夜三级精品| 亚洲日本欧美天堂| 日韩一区二区三区av| 粉嫩一区二区三区性色av| 亚洲一区二区三区四区五区黄| 日韩亚洲欧美在线观看| 国产成人99久久亚洲综合精品| 一区二区三区蜜桃| 精品福利av导航| 在线精品国精品国产尤物884a| 激情图片小说一区| 亚洲一区在线电影| 久久精品人人爽人人爽| 欧美日韩一级视频| 国产1区2区3区精品美女| 偷偷要91色婷婷| 中文字幕日韩精品一区| 欧美xxxxx牲另类人与| 色系网站成人免费| 国产成人免费在线视频| 五月综合激情网| 日韩伦理免费电影| 久久久蜜臀国产一区二区| 欧美亚洲综合在线| 97精品久久久午夜一区二区三区 | 国产亚洲va综合人人澡精品| 欧美一二三区在线| 色婷婷综合中文久久一本| 国产经典欧美精品| 久久精品国内一区二区三区| 一区二区免费看| 中文字幕一区二区在线播放| 精品日本一线二线三线不卡| 欧美精品乱码久久久久久| 色综合久久久久久久| 成人黄页毛片网站| 精彩视频一区二区| 日产国产高清一区二区三区| 亚洲在线观看免费| 亚洲女同女同女同女同女同69| 国产日产欧美一区二区视频| 日韩精品一区二区在线观看| 制服丝袜激情欧洲亚洲| 欧美日韩国产天堂| 欧洲一区二区三区在线| 色噜噜偷拍精品综合在线| 97久久超碰精品国产| 99在线精品视频| 94-欧美-setu| 91色综合久久久久婷婷| 91尤物视频在线观看| 91丨九色porny丨蝌蚪| 成人av手机在线观看| 国产91在线|亚洲| 国产成人aaaa| 99久久er热在这里只有精品15| 成人国产精品免费观看视频| 成人精品小蝌蚪| 91在线免费看| 日本电影亚洲天堂一区| 欧美三级视频在线播放| 欧美日韩一区二区三区四区| 欧美酷刑日本凌虐凌虐| 日韩欧美一级二级三级| 久久久午夜精品理论片中文字幕| 久久先锋影音av鲁色资源| 久久精品一区蜜桃臀影院| 日本一区二区动态图| 亚洲女人小视频在线观看| 亚洲国产精品综合小说图片区| 亚洲成年人网站在线观看| 蜜臀精品一区二区三区在线观看| 另类成人小视频在线| 国产河南妇女毛片精品久久久| 国产精品一线二线三线精华| k8久久久一区二区三区| 欧美性欧美巨大黑白大战| 欧美精品粉嫩高潮一区二区| 久久久国际精品| 亚洲欧美日本在线| 秋霞国产午夜精品免费视频| 国产激情一区二区三区四区| 99re这里只有精品6| 91精品国产综合久久久久| 久久美女高清视频| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲丶国产丶欧美一区二区三区| 久久国产剧场电影| www.亚洲色图| 69堂精品视频| 国产精品天美传媒| 一区二区三区.www| 国产一区二区三区免费播放| 91看片淫黄大片一级在线观看| 91精品国产欧美一区二区| 欧美国产欧美综合| 日韩av二区在线播放| 成人av电影在线网| 正在播放一区二区| 一区在线播放视频| 韩国一区二区视频| 欧美日免费三级在线| 国产日韩亚洲欧美综合| 国产成人免费视频| 欧美亚洲国产一区在线观看网站| 久久久久久黄色| 午夜成人免费电影| 91免费版在线| 久久影院午夜片一区| 一级日本不卡的影视| 成人av综合在线| 久久亚洲一级片| 免费成人在线观看视频| 欧美日韩精品一区视频| 中文字幕一区二区三区在线观看| 久久国产三级精品| 5858s免费视频成人| 亚洲午夜日本在线观看| 99re成人精品视频| 中文字幕国产一区| 国产毛片一区二区| 欧美大片国产精品| 麻豆精品精品国产自在97香蕉| 在线观看视频一区二区| 18欧美亚洲精品| 成人黄色一级视频| 国产日韩精品久久久| 国产精品一区二区三区99| 日韩精品一区二区三区老鸭窝 | 欧美亚日韩国产aⅴ精品中极品| 国产精品免费av| 丁香婷婷综合色啪| 中文字幕乱码久久午夜不卡| 国产麻豆视频精品| 精品88久久久久88久久久| 日韩中文字幕亚洲一区二区va在线 | 欧洲精品在线观看| 自拍偷拍亚洲欧美日韩| 99视频热这里只有精品免费| 国产精品少妇自拍| gogo大胆日本视频一区|