Docker參數,以及倉庫搭建

一·。Docker的構建參數

注釋:

1.對于CMD,如果不想顯示,而是使用交互界面:docker run -ti --rm --name test2 busybox:v5 sh

2.對于CMD,一個交互界面只可以使用一個,如果想多次使用CMD,則用ENTRYPOINT進行替換

FROM的基本使用

mkdir /docker

cd /docker

vi /Dockerfile

  • FROM busybox:這是?Dockerfile?中的一條指令,FROM?用于指定基礎鏡像,busybox?是一個輕量級的 Linux 工具集鏡像,許多 Docker 鏡像都會基于它來構建,以此為基礎可以在其之上添加額外的功能。
  • RUN touch /leefileRUN?指令用于在鏡像構建過程中執行命令。touch?是 Linux 系統中用于創建空文件的命令,/leefile?是要創建的文件的路徑,這里表示在鏡像中創建一個名為?leefile?的空文件。

docker build -t busybox:v2 . (或者使用:docker build -f /docker/Dockerfile1 -t busybox:v3 .)

docker build?是 Docker 用于構建鏡像的命令,-t?選項用于給構建的鏡像指定一個標簽(tag),busybox:v2?表示鏡像的名稱為?busybox,版本號為?v2

docker run -it --rm --name test1 busybox:v2

--rm?選項表示容器停止運行后自動刪除容器,避免占用過多磁盤空間。

綜上所述,這一系列操作的整體流程是:先創建一個目錄,然后在該目錄下創建一個?Dockerfile?來定義鏡像的構建步驟,接著使用?docker build?命令基于?Dockerfile?構建一個名為?busybox:v2?的鏡像,最后使用?docker run?命令基于這個鏡像啟動一個交互式的容器,并將其命名為?test1,容器停止后會自動刪除。

docker history busybox:v2:可以用于查看該鏡像版本的信息

COPY的使用

將passwd復制到容器內

1.首先進行文件的復制,copy /etc/passwd? /docker

2.vi /docker/Dockerfile1

3.docker build -f /docker/Dockerfile1 -t busybox:v3 .

4.docker run -it --rm --name test1 busybox:v2

ADD和COPY相似,可以進行壓縮文件

二。docker內部署centos

三。搭建docker的私有倉庫

1.?docker pull registry:拉取文件

2.?docker run -d -p 5000:5000 --restart=always registry

創建register容器,-p端口5000,--restart=always:這是一個重啟策略選項,指定容器在退出后總是自動重啟,確保鏡像倉庫服務能夠持續運行

3.docker tag busybox:latest 192.168.142.135:5000/busybox:latest

  • docker tag用于為鏡像添加標簽,方便對鏡像進行標識和管理。
  • busybox:latest:是源鏡像的名稱和標簽,這里表示本地的busybox鏡像的latest版本。
  • 192.168.142.135:5000/busybox:latest:是目標標簽,指定了將本地的busybox:latest鏡像標記為可以推送到地址為192.168.142.135、端口為 5000 的本地鏡像倉庫中的busybox:latest鏡像。

4.docker push 192.168.142.135:5000/busybox:latest

  • docker push:用于將本地的鏡像推送到指定的鏡像倉庫。
  • 192.168.142.135:5000/busybox:latest:指定了要推送的鏡像的目標地址和名稱標簽

5.vi /etc/docker/daemon.json?

6.測試:

注釋:register文件在:

/var/lib/docker/volumes/a03953bf68bf99f30e7529aac89ed497fbfbd7af6c55abc71330123b6ce60f82/_data/docker/registry/v2/repositories

拓展:私有倉庫直接存入,風險太大,需要進行加密保證安全性:

1.mkdir certs:創建用于存儲共公私鑰的目錄

2.openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/jiami.org.key -addext "subjectAltName =DNS:reg.jiami.org" -x509 -days 365 -out certs/jiami.org.crt

注釋:使用openssl req生成一個4096位的私鑰,采用sha256哈希算法最終將私鑰存儲與certs/jiami.org.key文件內,指定解析后,生成-x509證書,最終將證書保存于后續文件

3.docker run -d -p 443:443 --restart=always -v /root/certs:/certs

-e REGISTRY_HTTP_ADDR=0.0.0.0:443

-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/jiami.org.crt

-e REGISTRY_HTTP_TLS_KEY=/certs/jiami.org.key registry:latest

注釋:-v /root/certs:/certs,-v表掛載,將主機上的/root/cets掛載于容器內的certs,-e表設置環境變量,設置端口,證書和私鑰

4.?mkdir -p /etc/docker/certs.d/reg.jiami.org:創建一個docker子目錄用于存儲證書

5.cp /root/certs/jiami.org.crt /etc/docker/certs.d/reg.jiami.org/ca.crt:將證書復制于文件

6.systemctl restart docker

7.docker tag nginx:v1 reg.jiami.org/nginx:v1:打標簽

8.docker push reg.jiami.org/nginx:v1:進行推送

四。為倉庫建立登陸認證:(前提創建好私鑰和證書)

1.yum install httpd-tools:下載登陸工具

2.mkdir auth

3.?htpasswd -Bc auth/.htpasswd lee:為目錄創建密碼和用戶lee

注釋:再次添加密碼和用戶不需要添加c,只要-B

4.?docker run -d -p 443:443 --restart=always -v /root/certs:/certs

-e REGISTRY_HTTP_ADDR=0.0.0.0:443

-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/jiami.org.crt

-e REGISTRY_HTTP_TLS_KEY=/certs/jiami.org.key -v /root/auth:/auth

-e REGISTRY_AUTH=".htpasswd"

-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm"

-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/.htpasswd" registry

注釋:必須擁有此文件,提供http加密

注釋:在以后上傳任何東西前,必須進行登陸:docker login reg.jiami.org,否則無法上床內容于私有倉庫

五。搭建一個Harbor倉庫

wget -c https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz

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

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

相關文章

基于Python Django的人臉識別上課考勤系統(附源碼,部署)

博主介紹:?程序員徐師兄、7年大廠程序員經歷。全網粉絲12w、csdn博客專家、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域和畢業項目實戰? 🍅文末獲取源碼聯系🍅 👇🏻 精彩專欄推薦訂閱👇…

基于python實現的疫情數據可視化分析系統

基于python實現的疫情數據可視化分析系統 開發語言:Python 數據庫:MySQL所用到的知識:Django框架工具:pycharm、Navicat 系統功能實現 總體設計 系統實現 系統功能模塊 系統首頁可以查看首頁、疫情信息、核酸檢測、新聞資訊、個人中心、后…

(十 八)趣學設計模式 之 觀察者模式!

目錄 一、 啥是觀察者模式?二、 為什么要用觀察者模式?三、 觀察者模式的實現方式四、 觀察者模式的優缺點五、 觀察者模式的應用場景六、 總結 🌟我的其他文章也講解的比較有趣😁,如果喜歡博主的講解方式,…

Spring Boot 緩存最佳實踐:從基礎到生產的完整指南

Spring Boot 緩存最佳實踐:從基礎到生產的完整指南 引言 在現代分布式系統中,緩存是提升系統性能的銀彈。Spring Boot 通過 spring-boot-starter-cache? 模塊提供了開箱即用的緩存抽象,但如何根據業務需求實現靈活、可靠的緩存方案&#xf…

蘋果Siri升級遇阻,國行iPhone或將引入阿里、百度AI自救

AI整合進展緩慢 蘋果正加速將生成式AI技術整合至Siri,但內部消息稱其底層技術研發落后于競爭對手,進展未達預期。 國行iPhone將引入雙AI模型 蘋果計劃在2025年中期為國行iPhone引入AI功能,目前已敲定與 阿里巴巴、百度 合作,用戶…

阿里推出全新推理模型(因果語言模型),僅1/20參數媲美DeepSeek R1

阿里Qwen 團隊正式發布了他們最新的研究成果——QwQ-32B大語言模型!這款模型不僅名字萌萌噠(QwQ),實力更是不容小覷!😎 QwQ-32B 已在 Hugging Face 和 ModelScope 開源,采用了 Apache 2.0 開源協議。大家可通過 Qwen C…

TomcatServlet

https://www.bilibili.com/video/BV1UN411x7xe tomcat tomcat 架構圖,與 jre,應用程序之前的關系 安裝使用 tomcat 10 開始,api 從 javax.* 轉為使用 jakarta.*,需要至少使用 jdk 11 cmd 中默認 gbk 編碼,解決控制…

JDK ZOOKEEPER KAFKA安裝

JDK17下載安裝 mkdir -p /usr/local/develop cd /usr/local/develop 將下載的包上傳服務器指定路徑 解壓文件 tar -zxvf jdk-17.0.14_linux-x64_bin.tar.gz -C /usr/local/develop/ 修改文件夾名 mv /usr/local/develop/jdk-17.0.14 /usr/local/develop/java17 配置環境變量…

高考數學。。。

2024上 具體來說,直線的參數方程可以寫為: x1t y?t z1t 二、簡答題(本大題共5小題,每小題7分,共35分。) 12.數學學習評價不僅要關注結果評價,也要關注過程評價。簡要說明過程評價應關注哪幾個方面。…

C# 實現鼠標軌跡錄制與回放自動化功能(附源碼)

在軟件自動化測試或者重復性辦公任務中,鼠標操作的自動化可以大大減少人工干預,提高工作效率。這里將詳細介紹如何使用 C# 實現鼠標軌跡的錄制與回放功能,代碼結構清晰,具有較強的擴展性。 引用 NuGet 包 在開發這個功能時&…

Nacos 核心功能實戰筆記(超詳細)

Nacos 核心功能實戰筆記 一、Nacos 簡介 1. 是什么? 全稱:Nacos Naming and Configuration Service定位:阿里巴巴開源的 動態服務發現、配置管理、服務管理平臺核心功能:服務注冊與發現 統一配置管理 服務健康監測適用場景&…

安裝remixd,在VScode創建hardhat

在終端,以管理員身份,cmd 需要科學上網 npm install -g remix-project/remixd 在vscode插件中,安裝solidity插件,是暗灰色那款 1.將nodeJs的版本升級至18以上 2.在vscode打開一個新的文件,在終端輸入 npx hardhat 3.…

unity pico開發 四 物體交互 抓取 交互層級

文章目錄 手部設置物體交互物體抓取添加抓取抓取三種類型抓取點偏移抓取事件抓取時不讓物體吸附到手部 射線抓取交互層級 手部設置 為手部(LeftHandController)添加XRDirInteractor腳本 并添加一個球形碰撞盒,勾選isTrigger,調整大小為0.1 …

CyberRT(apollo) 定時器模塊簡述及bug分析

timer 模塊 timer的定義,cyberrt中timer模塊用于設置定時器任務,字面意思,設置設置定時周期及出發頻次(周期 or oneshot),到達指定時間時間觸發callback time wheel 時鐘節拍輪,常見的定時器設計&#x…

java八股文之消息中間件

1.RabbitMQ如何保證消息不丟失 開啟生產者確認機制,確保生產者的消息能到達隊列開啟持久化功能,確保消息未消費前在隊列中不會丟失(交換機,隊列,消息都需要開啟持久化功能)開啟消費者確認機制為auto,由spr…

Win7重裝不翻車!ISO鏡像安全下載渠道+BIOS設置避雷手冊

一、寫在前面:為什么你需要這份教程? 當電腦頻繁藍屏、系統崩潰甚至無法開機時,重裝系統可能是最后的救命稻草。但市面上的教程往往存在三大痛點: ?? 鏡像來源不明導致系統被植入后門 ?? 啟動盤制作失敗反復折騰 ?? 操作失…

大學至今的反思與總結

現在是2025年的3月5日,我大三下學期。 自大學伊始,我便以考研作為自己的目標,有時還會做自己考研上岸頭部985,211,offer如潮水般涌來的美夢。 但是我卻忽略了一點,即便我早早下定了決心去考研,但并沒有早…

SpringBoot 全局異常處理

文章目錄 異常處理全局異常處理(推薦)局部異常處理高級技巧設置返回狀態碼處理404異常異常處理 全局異常處理(推薦) 創建一個全局異常處理類,使用 @RestControllerAdvice 注解標記。 在方法上使用 @ExceptionHandler 聲明當前方法可處理的異常類型。當系統發生異常時,…

【四.RAG技術與應用】【11.阿里云百煉應用(上):RAG在云端的實踐】

一、為什么需要RAG?大模型的“知識困境”與破局之道 大模型雖然“博學”,但它的知識庫存在兩個致命短板: 缺乏私有知識:比如企業內部的產品手冊、客戶數據、行業報告等;知識更新滯后:大模型的訓練數據往往停留在某個時間點,無法實時獲取最新信息(比如今天的股票行情或…

使用wifi連接手機adb進行調試|不使用數據線adb調試手機|找應用錯誤日志和操作日志

手機在開發者選項里要開啟無線調試 在手機設置中查看WiFi的IP地址 設置 -> WLAN -> 已連接的WiFi -> IP地址 使用手機的IP地址連接 adb connect 192.168.1.12:xxxxx 檢查連接狀態 adb devices 斷開特定設備 adb disconnect 192.168.x.x:xxxxx 斷開所有設備 …