01-Docker-簡介、安裝與使用

1. docker簡介

  • Docker 是一個應用打包、分發、部署的工具
  • 你也可以把它理解為一個輕量的虛擬機,它只虛擬你軟件需要的運行環境,多余的一點都不要,
  • 而普通虛擬機則是一個完整而龐大的系統,包含各種不管你要不要的軟件。

2. 相關概念

2.1 容器

輕量化的運行實例,包含應用代碼、運行時環境和依賴庫。通過鏡像創建,可以理解為一個簡易的linux系統。

2.2 鏡像

只讀模板,定義了容器的運行環境(如操作系統、軟件配置等)。

2.3 倉庫

存放鏡像的地方,分為公有倉庫和私有倉庫

3. 安裝

  • 以macos為例(命令行安裝)
brew install --cask docker
  • 啟動docker
open -a Docker

4.配置鏡像加速

  • 打開docker-設置- Docker Engine
    在這里插入圖片描述
"registry-mirrors": ["https://docker.m.daocloud.io/","https://huecker.io/","https://dockerhub.timeweb.cloud","https://noohub.ru/","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://xx4bwyg2.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]

點擊 Apply & Restart 重啟 Docker。

  • 驗證 Docker 運行
docker run hello-world

5. docker常用命令

5.1 幫助命令

docker --version		# 顯示版本信息
docker info				# 顯示系統信息
docker 命令 --help 		# 萬能命令

5.2 鏡像命令

docker images		# 查看所有本地的主機上的鏡像# 可選項-a, -all		# 列出所有鏡像-q, --quiet		# 只顯示鏡像的id
docker search		# 搜索鏡像# 可選項
--filter=STARS=3000		# 搜索出來的鏡像是STARS大于3000的
docker pull			# 下載鏡像
docker rmi		# 刪除鏡像
docker rmi -f 容器id		# 刪除指定鏡像
docker rmi -f 容器id	 容器id 容器id 容器id		 # 刪除多個鏡像
docker rmi -f $(docker images -aq)		# 刪除全部鏡像

5.3 容器命令

  • 說明: 有了鏡像才可以創建容器。下載一個nginx鏡像進行測試學習
docker pull nginx
  • 新建容器并啟動
docker run [可選參數] image# 參數說明
--name="Name"	容器名字 
-d				后臺方式運行
-it				使用交互方式運行,進入容器查看內容
-p				指定容器端口 -p 8080:8080-p ip:主機端口:容器端口-p 主機端口:容器端口	(常用)-p 容器端口
-p				隨機指定端口

測試,啟動并進入容器

(base) 123@myiy ~ % docker run -it nginx /bin/bash
root@70276d8feeeb:/# ls
bin   dev		   docker-entrypoint.sh  home  media  opt   root  sbin	sys  usr
boot  docker-entrypoint.d  etc			 lib   mnt    proc  run   srv	tmp  var
root@70276d8feeeb:/# exit	
  • 列出所有運行的容器
docker ps 命令-a		# 列出正在運行的容器+歷史運行過的容器
-n=# 最近創建過的容器
-q		# 只顯示容器的編號
  • 退出容器
exit	# 直接容器退出并停止
ctrl + P + Q	# 容器不停止退出
  • 刪除容器
docker rm 容器id			# 刪除指定容器,不能刪除正在運行的容器
docker rm -f $(docker ps -aq)		# 刪除所有容器
docker ps -a -q|xargs docker rm		# 刪除所有容器
  • 啟動和停止容器
docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id

5.4 常見其他命令

  • 后臺啟動命令
docker run -d 鏡像名
  • 查看日志
docker logs -f -t --tail 容器,沒有日志
  • 查看容器中進程信息
docker top 容器id
  • 查看鏡像元數據
docker inspect 容器id
  • 進入當前正在運行的容器
docker exec -it 容器id /bin/bash
或者
docker attach 容器id
  • 從容器內拷貝文件到主機(拷貝是手動的,未來使用-v卷技術,實現自動)
docker cp 容器id:容器內路徑 目的主機路徑

6. 作業練習

Docker安裝nginx

# 1,搜索鏡像
# 2.下載鏡像
docker pull nginx
# 3.運行測試
docker run -d --name nginx01 -p 3344:80 nginx-d: 后臺運行--name : 給容器命名-p 宿主機端口:容器端口
# 4.進入容器
docker exec -it nginx01 /bin/bash

docker安裝tomcat

# 0.官方(用完即刪除)
$ docker run -it --rm tomcat:9.0# 1.下載鏡像
docker pull tomcat:9.0
# 2.啟動運行
docker run -d --name tomcat01 -p 3355:8080 tomcat
# 3.進入容器
docker exec -it tomcat01 /bin/bash

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

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

相關文章

阿里云參數配置化

阿里云參數配置化 一、問題描述 當我們直接在AliOSSUtils.java中對所需的阿里云OSS相關參數進行賦值時,當相關參數發生改變,但是又在多次進行了賦值這些參數,那么就需要逐一進行修改,所以我們直接在SpringBoot項目的配置文件appli…

Diamond開發經驗(1)

前言: 學習Lattice的芯片開發的過程中,很多實際開發過程中遇到的問題是沒辦法繞過的,雖然我今天被繞了一天(此句多余,單純記錄美好心情哈哈哈哈)將這些解決方法梳理成文章供大家參考,十個問題組成一篇文章。…

神經網絡訓練過程詳解

神經網絡訓練過程詳解 神經網絡訓練過程是一個動態的、迭代的學習過程,接下來基于一段代碼展示模型是如何逐步學習數據規律的。 神經網絡擬合二次函數:代碼詳解 下面將詳細解釋這段代碼,它使用神經網絡擬合一個帶有噪聲的二次函數 y x 2x …

LeetCode100-560和為K的子數組

本文基于各個大佬的文章上點關注下點贊,明天一定更燦爛!前言Python基礎好像會了又好像沒會,所有我直接開始刷leetcode一邊抄樣例代碼一邊學習吧。本系列文章用來記錄學習中的思考,寫給自己看的,也歡迎大家在評論區指導…

【PZ-ZU47DR-KFB】璞致FPGA ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常見問題說明

1 Flash 固化Flash 固化需要先生成 BOOT.bin 文件,這邊以裸機的串口工程進行講解如何生成 BOOT.bin 文件及 Flash 固化操作。有讀者會遇到,只使用 PL 端的情況,也需要進行 Flash 固化。我們需要添加 PS 端最小配置(包含 Flash 配置…

數據結構:查找表

一、數據結構的概念數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。它不僅僅是存儲數據的方式,更強調數據之間的邏輯關系和操作方法。數據結構主要從以下幾個角度來理解:1. 數據之間的關系邏輯結構:集合結構:元素之…

自建知識庫,向量數據庫 (十)之 文本向量化——仙盟創夢IDE

自建文章向量化技術:AI 浪潮下初學者的進階指南 在人工智能(AI)蓬勃發展的浪潮中,向量化作為將文本數據轉化為數值向量表示的關鍵技術,成為理解和處理文本的基石。本文將結合給定的代碼示例,深入探討自建文…

數據結構 -- 順序表的特點、操作函數

線性表順序存儲的優缺點優點無需為表中的邏輯關系增加額外的存儲空間,利用連續的內存單元存儲數據,存儲密度高。支持 隨機訪問,通過下標可在 O(1) 時間復雜度內定位元素(如數組按索引取值),查詢效率穩定。缺…

反向代理實現服務器聯網

下載腳本:https://gitee.com/995770513/ssh-reverse-socket然后解壓到 D:\Download在本機運行 cd D:\Download\ssh-reverse-socket-master\ssh-reverse-socket-master python socket5_proxy.py --ssh_cmd "xaserver10.150.10.51 -p 22" --socket5_port 78…

C語言關于函數傳參和返回值的一些想法2(參數可修改的特殊情況)

我最近寫了一篇文章名為“C語言關于函數傳參和返回值的一些想法”(C語言關于函數傳參和返回值的一些想法-CSDN博客),里面提到了一種觀點就是傳參的參數在函數體內部是只讀的,不能寫它,因為如果寫了,也就是污…

前端AI對話功能實現攻略

一、對話內容渲染 在前端頁面的 AI 對話場景中,對話內容的渲染效果直接影響用戶的閱讀體驗和交互效率。合理選擇對話格式、優化流式對話呈現、嵌入自定義內容以及實現語音播報等功能,是提升整體體驗的關鍵。 對話格式選擇 MarkDown 作為一種輕量級標記語…

深入理解Redis持久化:讓你的數據永不丟失

1 Redis持久化概述 1.1 什么是Redis持久化 Redis作為一個高性能的內存數據庫,默認情況下數據存儲在內存中,這意味著一旦服務器重啟或發生故障,內存中的數據將會丟失。為了保證數據的持久性和可靠性,Redis提供了持久化機制,將內存中的數據保存到磁盤中。 持久化是Redis實…

IC驗證 AHB-RAM 項目(二)——接口與事務代碼的編寫

目錄準備工作接口相關代碼編寫事務相關代碼編寫準備工作 DVT(Design and Verification Tools)是一款專門為 IC 驗證打造的 IDE 插件,可以理解為智能的 Verilog/System Verilog 編輯器,在 VS Code、Eclipse 軟件中使用。 接口相關…

基于Spring Boot的智能民宿預訂與游玩系統設計與實現 民宿管理系統 民宿預訂系統 民宿訂房系統

🔥作者:it畢設實戰小研🔥 💖簡介:java、微信小程序、安卓;定制開發,遠程調試 代碼講解,文檔指導,ppt制作💖 精彩專欄推薦訂閱:在下方專欄&#x1…

大模型的底層運算線性代數

深度學習的本質是用數學語言描述并處理真實世界中的信息,而線性代數正是這門語言的基石。它不僅提供了高效的數值計算工具,更在根本上定義了如何以可計算、可組合、可度量的方式表示和變換數據。 1 如何描述世界📊 真實世界的數據&#xff08…

Rust 中 i32 與 *i32 的深度解析

Rust 中 &i32 與 *i32 的深度解析 在 Rust 中,&i32 和 *i32 是兩種完全不同的指針類型,它們在安全性、所有權和使用方式上有本質區別。以下是詳細對比: 核心區別概覽 #mermaid-svg-rCa8lLmHB7MK9P6K {font-family:"trebuchet ms…

【PyTorch項目實戰】OpenNMT本地機器翻譯框架 —— 支持本地部署和自定義訓練

文章目錄一、OpenNMT(Neural Machine Translation,NMT)1. 概述2. 核心特性3. 系統架構4. 與其他翻譯工具的區別二、基于 OpenNMT-py 的機器翻譯框架1. 環境配置(以OpenNMT-py版本為例)(1)pip安裝…

基于prompt的生物信息學:多組學分析的新界面

以前總以為綜述/評論是假大空,最近在朋友的影響下才發現,大佬的綜述/評論內容的確很值得一讀,也值得分享的。比如這篇講我比較感興趣的AI輔助生信分析的,相信大家都是已經實踐中用上了,看看大佬的評論,拓寬…

Nacos-8--分析一下nacos中的AP和CP模式

Nacos支持兩種模式來滿足不同場景下的需求:AP模式(強調可用性)和CP模式(強調一致性)。 這兩種模式的選擇主要基于CAP理論,該理論指出在一個分布式系統中,無法同時保證一致性(Consist…

水閘安全監測的主要核心內容

水閘安全監測是指通過一系列技術手段和管理措施,對水閘的結構狀態、運行性能及環境條件進行實時或定期的觀測與評估,以確保水閘在設計壽命期內的安全性和可靠性。其核心目標是及時發現潛在的安全隱患,防止事故發生,保障水利工程的…