Docker 鏡像上傳到 AWS ECR:從構建到推送的全流程

一、在 EC2 實例中安裝 Docker(適用于 Amazon Linux 2)

步驟 1:連接到 EC2 實例

ssh -i your-key.pem ec2-user@your-ec2-public-ip

步驟 2:安裝 Docker

sudo yum update -y
sudo amazon-linux-extras enable docker
sudo yum install -y docker

步驟 3:啟動并設置 Docker 服務

sudo service docker start
sudo systemctl enable docker

步驟 4:將當前用戶加入 docker 組(可選)

sudo usermod -aG docker ec2-user

?? 重新連接 SSH 后才能生效,或用 newgrp docker 立即生效。


步驟 5:驗證 Docker 安裝

docker version
docker info

二、運行測試容器(比如 nginx)

docker run -d -p 80:80 nginx

然后在瀏覽器訪問你 EC2 的公網 IP:

http://<your-ec2-public-ip>

?三、安全組配置檢查

確保 EC2 安全組允許端口 80 訪問:

類型協議端口范圍來源
HTTPTCP800.0.0.0/0

搭建ECR倉庫


?前提準備

  • 已安裝并登錄好 AWS CLI

  • 本地已構建好鏡像(比如 myapp:latest

  • 已配置 AWS CLI 憑證(aws configure


🔧 步驟 1:創建 ECR 倉庫

aws ecr create-repository --repository-name myapp --region cn-north-1

示例輸出中會有一個 repositoryUri,例如:

123456789012.dkr.ecr.cn-north-1.amazonaws.com.cn/myapp

🔧 步驟 2:登錄到 ECR

aws ecr get-login-password --region cn-north-1 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.cn-north-1.amazonaws.com.cn

用你自己的 賬號ID 和區域 替換掉上面的內容


🔧 步驟 3:給鏡像打標簽(tag)

將你本地鏡像標記為 ECR 地址:

docker tag myapp:latest 123456789012.dkr.ecr.cn-north-1.amazonaws.com.cn/myapp:latest

🔧 步驟 4:推送到 ECR

docker push 123456789012.dkr.ecr.cn-north-1.amazonaws.com.cn/myapp:latest

?推送成功后

你就可以在 ECS 服務中引用這個鏡像地址

123456789012.dkr.ecr.cn-north-1.amazonaws.com.cn/myapp:latest

并在 ECS 的任務定義中填入該鏡像即可運行容器。


?可選:檢查上傳的鏡像

aws ecr describe-images --repository-name myapp

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/86495.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/86495.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/86495.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MobileNet 改進:基于MobileNetV2和SSPP的圖像分類

1.創新點分析 在計算機視覺領域,高效的圖像分類模型一直是研究熱點。 本文將詳細解析一個結合了MobileNetV2和空間金字塔池化(SSPP)的深度學習模型實現。 模型概述 這個代碼實現了一個輕量級但功能強大的圖像分類器,主要包含兩個核心組件: MobileNetV2作為特征提取器 自定…

Java中List的forEach用法詳解

在 Java 中&#xff0c;List.forEach() 是 Java 8 引入的一種簡潔的遍歷集合元素的方法。它基于函數式編程思想&#xff0c;接受一個 Consumer 函數式接口作為參數&#xff0c;用于對集合中的每個元素執行操作。 基本語法 java 復制 下載 list.forEach(consumer); 使用示…

涂鴉T5AI手搓語音、emoji、otto機器人從入門到實戰

“&#x1f916;手搓TuyaAI語音指令 &#x1f60d;秒變表情包大師&#xff0c;讓萌系Otto機器人&#x1f525;玩出智能新花樣&#xff01;開整&#xff01;” &#x1f916; Otto機器人 → 直接點明主體 手搓TuyaAI語音 → 強調 自主編程/自定義 語音控制&#xff08;TuyaAI…

計算機視覺與深度學習 | 基于MATLAB的相機標定

基于MATLAB的相機標定:原理、步驟與代碼實現 相機標定 基于MATLAB的相機標定:原理、步驟與代碼實現MATLAB相機標定完整流程1. 準備工作2. 采集標定圖像3. 導入圖像并檢測角點4. 生成世界坐標5. 執行相機標定6. 分析標定結果7. 應用標定結果校正圖像相機標定關鍵概念相機參數類…

物聯網專業核心課程以及就業方向

物聯網專業作為信息技術與產業應用深度融合的交叉學科&#xff0c;其課程體系覆蓋硬件、軟件、網絡、數據等全鏈條技術&#xff0c;就業方向則隨智能技術普及呈現多元化趨勢。以下是基于最新行業動態與教育實踐的系統分析&#xff1a; &#x1f4da; 一、物聯網專業核心課程體系…

mac 安裝homebrew (nvm 及git)

mac 安裝nvm 及git 萬惡之源 mac 安裝這些東西離不開Xcode。及homebrew 一、先說安裝git步驟 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安裝 Git&#xff08;推薦&#xff09; 步驟如下&#xff1a;打開終端&#xff08;Terminal.app&#xff09; 1.安裝 Homebrew…

vue3 定時器-定義全局方法 vue+ts

1.創建ts文件 路徑&#xff1a;src/utils/timer.ts 完整代碼&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 創建定時器con…

線性代數證明:把行列式的某一行(列)的k倍加到另一行(列),行列式的值不變

線性代數證明 把行列式的某一行&#xff08;列&#xff09;的k倍加到另一行&#xff08;列&#xff09;&#xff0c;行列式的值不變&#xff1a; 注意五角星的位置要用到另一條性質&#xff1a;若行列式的某一行&#xff08;列&#xff09;的元素都是兩數之和&#xff0c;則可以…

webrtc 在線測試, 如何在線拉流測試

1. 如下所示&#xff0c;使用騰訊提供的網頁即可&#xff0c;非常贊&#xff0c;測試直播拉流 webrtc協議 WebRTC Player Demo 2.截圖&#xff1a;

基于Flask前后端分離智慧安防小區系統

基于Flask前后端分離智慧安防小區系統 本項目是一個基于前后端分離架構的智慧安防小區管理系統&#xff0c;采用現代化的技術棧和完善的功能設計&#xff0c;旨在提供一個高效、安全的小區管理解決方案。 技術架構 前端技術棧 基于Vue 3框架開發參考Geeker-Admin項目的基礎…

深入解析 Linux 死鎖:原理、原因及解決方案

深入解析 Linux 死鎖&#xff1a;原理、原因及解決方案 目錄 **深入解析 Linux 死鎖&#xff1a;原理、原因及解決方案**前言&#xff1a;一次凌晨 3 點的 “服務器崩潰”&#xff0c;揭開死鎖的致命性一、死鎖的基礎&#xff1a;資源與競爭的 “導火索”1.1 資源&#xff1a;死…

C學習--內存管理

#靈感# 當計算機執行一個程序時&#xff0c;必須有一種方法來存儲程序本身和運算所得的數據。 總的來講&#xff0c;計算機硬件中任何能夠存儲和檢索信息的部分都是存儲設備。當前運行的程序存放的存儲器稱為主存儲器&#xff08;primary storage&#xff09;&#xff0c;常常…

使用 Docker Compose 安裝 PostgreSQL 16

前面是指南&#xff0c;后面是實際工作日志。 1. 創建 docker-compose.yml 文件 yaml 復制 下載 version: 3.9 services:postgres:image: postgres:16container_name: postgres-16environment:POSTGRES_USER: your_username # 替換為你的用戶名POSTGRES_PASSWORD: your…

從數據報表到決策大腦:AI重構電商決策鏈條

在傳統電商運營中&#xff0c;決策鏈條往往止步于“數據報表層”&#xff1a;BI工具整合歷史數據&#xff0c;生成滯后一周甚至更久的銷售分析&#xff0c;運營團隊憑經驗預判需求。當爆款突然斷貨、促銷庫存積壓時&#xff0c;企業才驚覺標準化BI的決策時差正成為增長瓶頸。 一…

SpringBoot 自動化部署實戰:CI/CD 整合方案與避坑指南

引言 在微服務架構盛行的今天&#xff0c;SpringBoot 憑借其開箱即用的特性成為 Java 后端開發的主流框架。然而&#xff0c;隨著項目規模擴大&#xff0c;手動部署的效率瓶頸逐漸顯現。本文將結合 GitLab CI/CD、Jenkins 等工具&#xff0c;深入探討 SpringBoot 項目的自動化部…

力扣HOT100之二分查找:35. 搜索插入位置

這道題屬于是二分查找的入門題了&#xff0c;我依稀記得一些二分查找的編碼要點&#xff0c;但是最后還是寫出了一個死循環&#xff0c;無語(ˉ▽ˉ&#xff1b;)…又回去看了下自己當時的博客和卡哥的視頻&#xff0c;這才發現自己分情況只分了兩種&#xff0c;最后導致死循環…

VS創建Qt項目,Qt的關鍵字顯示紅色波浪線解決方法

如圖所示&#xff0c;VS2017新創建的Qt項目&#xff0c;編譯正常&#xff0c;關鍵字顯示識別失敗&#xff0c;顯示紅色波浪線&#xff0c;編譯運行沒問題。 解決方法&#xff1a; 如下圖所示&#xff0c;C/C -> 常規 -> 附加包含目錄 ->添加Qt的Include路徑 如下圖…

pikachu靶場通關筆記22-1 SQL注入05-1-insert注入(報錯法)

目錄 一、SQL注入 二、insert注入 三、報錯型注入 四、updatexml函數 五、源碼審計 六、insert滲透實戰 1、滲透準備 2、獲取數據庫名database 3、獲取表名table 4、獲取列名column 5、獲取字段 本系列為通過《pikachu靶場通關筆記》的SQL注入關卡(共10關&#xff0…

k8s從入門到放棄之HPA控制器

k8s從入門到放棄之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一種用于自動擴展部署、副本集或復制控制器中Pod數量的機制。它可以根據觀察到的CPU利用率&#xff08;或其他自定義指標&#xff09;來調整這些對象的規模&#xff0c;從而幫助應用程序在負…

人機融合智能 | “人智交互”跨學科新領域

本文系統地提出基于“以人為中心AI(HCAI)”理念的人-人工智能交互(人智交互)這一跨學科新領域及框架,定義人智交互領域的理念、基本理論和關鍵問題、方法、開發流程和參與團隊等,闡述提出人智交互新領域的意義。然后,提出人智交互研究的三種新范式取向以及它們的意義。最后,總結…